Android UI开发专题(四) View自绘控件
2010-07-14 09:18
603 查看
很多时候想要设计漂亮的Android UI,使用Android自带的控件无法满足我们的需要就要考虑自绘控件,在Android界面显示类View,可以通过继承扩展重写相关方法来实现我们的图形绘制。
首先我们需要了解下View类的底层实现,在SDK中我们可以看到View直接继承于Java的基类Object,实现了图形绘制和按键事件Drawable.Callback KeyEvent.Callback的相关方法,我们自绘时主要实现其内部的onDraw方法,相关的界面计算可以重写onMeasure方法,对于相关的按键可以重载onKeyDown、onKeyUp以及onTouchEvent等,下面android开发网就以一个实例来表示。
public class cwjView extendsView
{
public cwjView(Context context)
{
this(context,null);
}
public cwjView(Context context,AttributeSet attrs)
{
this(context,attrs,0);
}
public cwjView(Context context,AttributeSet attrs,int defStyle)
{
super(context,attrs,defStyle);
//这里是本类的构造,相关初始化可以在这里添加代码
}
@Override
protectd void onDraw(Canvas canvas)
{
super(canvas);
//绘图的关键,可以看到已经包含了一个canvas句柄,可以直接通过我们前面讲到的Canvas类进行相关的操作,完整的例子,大家可以参考Android SDK中例子Snake贪食蛇游戏的实现。
}
}
有关View类的更新,我们直接通过调用invalidate(int l,int r,int r,int b)来更新一个Rect矩形区域,或更新全部,同时在线程中我们使用需要调用postInvalidate来更新界面。
首先我们需要了解下View类的底层实现,在SDK中我们可以看到View直接继承于Java的基类Object,实现了图形绘制和按键事件Drawable.Callback KeyEvent.Callback的相关方法,我们自绘时主要实现其内部的onDraw方法,相关的界面计算可以重写onMeasure方法,对于相关的按键可以重载onKeyDown、onKeyUp以及onTouchEvent等,下面android开发网就以一个实例来表示。
public class cwjView extendsView
{
public cwjView(Context context)
{
this(context,null);
}
public cwjView(Context context,AttributeSet attrs)
{
this(context,attrs,0);
}
public cwjView(Context context,AttributeSet attrs,int defStyle)
{
super(context,attrs,defStyle);
//这里是本类的构造,相关初始化可以在这里添加代码
}
@Override
protectd void onDraw(Canvas canvas)
{
super(canvas);
//绘图的关键,可以看到已经包含了一个canvas句柄,可以直接通过我们前面讲到的Canvas类进行相关的操作,完整的例子,大家可以参考Android SDK中例子Snake贪食蛇游戏的实现。
}
}
有关View类的更新,我们直接通过调用invalidate(int l,int r,int r,int b)来更新一个Rect矩形区域,或更新全部,同时在线程中我们使用需要调用postInvalidate来更新界面。
相关文章推荐
- Android UI开发专题(四) View自绘控件
- Android UI开发专题(四) View自绘控件
- Android UI开发专题(四) View自绘控件
- Android UI开发专题(四) View自绘控件
- Android UI开发专题(四) View自绘控件
- Android UI开发专题(四) View自绘控件
- Android UI开发 View自绘控件
- Android UI开发 View自绘控件 分享
- Android开发-UI控件:为ListView,GirdView,etc...添加系统自带的下拉刷新功能
- 【Android 开发】:UI控件之 ImageView 从网络上获取图像
- 【Android 开发】:UI控件之 ImageView 实现图片旋转和缩放功能
- 【Android 开发】:UI控件之 ViewPager 多页面滑动效果控件的的使用(二)
- Android开发UI之开源项目第一篇——个性化控件(View)篇
- Android 开发基础篇——UI——基础控件(TextView、Button、EditText)
- 【Android 开发】:UI控件之显示图片控件 ImageView 的使用方法
- 【Android 开发】:UI控件之 ImageView 实现适屏和裁剪图片的功能
- Android UI 之TextView控件中可选择的属性列表,开发中经常用到的
- 【Android 开发】:UI控件之 ViewPager 多页面滑动效果控件的的使用
- Android UI 之TextView控件中可选择的属性列表,开发中经常用到的
- 【Android 开发】:UI控件之 ScrollView垂直滚动控件 和 HorizontalScrollView水平滚动控件的使用