当前位置: 移动技术网 > IT编程>移动开发>Android > Android UI开发 View自绘控件 分享

Android UI开发 View自绘控件 分享

2019年07月24日  | 移动技术网IT编程  | 我要评论

纸上谈兵的反义词,好听的手机来电音乐,电话小姐

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网