好库网 好库网首页 | 我的好库
安卓专栏

Android UI开发专题(四) View自绘控件

发布者:android
发布日期:2011/4/12 21:00:28   更新日期:2011/4/12 21:00:28
阅读次数:1622
评分:4.80
介绍:Android UI开发专题(四) View自绘控件
正文:

作者:Android开发网


  很多时候想要设计漂亮的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来更新界面。 


评论 [发表评论]
账号 密码 还没帐号呢,现在注册一个?

免责声明:好库网所展示的信息由买卖双方自行提供,其真实性、准确性和合法性由信息发布人负责。好库网不提供任何保证,并不承担任何法律责任。