很多时候想要设计漂亮的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,defStyle);
//这里是本类的构造,相关初始化可以在这里添加代码
}
@OverrIDe
protectd voID onDraw(Canvas canvas)
{
super(canvas);
//绘图的关键,可以看到已经包含了一个canvas句柄,可以直接通过我们前面讲到的Canvas类进行相关的 *** 作,完整的例子,大家可以参考AndroID SDK中例子Snake贪食蛇游戏的实现。
}
}
有关VIEw类的更新,我们直接通过调用invalIDate(int l,int r,int b)来更新一个Rect矩形区域,或更新全部,同时在线程中我们使用需要调用postInvalIDate来更新界面。
以上是内存溢出为你收集整理的Android UI开发 View自绘控件 分享全部内容,希望文章能够帮你解决Android UI开发 View自绘控件 分享所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)