时间:2021-05-21
很多时候想要设计漂亮的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来更新界面。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例为大家分享了Android创建可拖动图片控件的具体代码,供大家参考,具体内容如下重载、自绘1、从View派生一个控件类,构造函数中调用父类构造器。2、重
本文实例为大家分享了Android自定义控件EditText的具体代码,供大家参考,具体内容如下自定义控件分三种:1.自绘控件2.组合控件3.继承控件代码已上传
在android中,文本控件主要包括TextView控件和EditView控件,本节先对TextView控件的用法进行详细介绍。TextView类继承自View
自绘控件的内容都是自己绘制出来的大致流程如下:1.定义一个类继承view1.使用TypedArray初始化属性集合在view的构造方法中有一个Attribute
ViewStub是Android布局优化中一个很不错的标签/控件,直接继承自View。虽然Android开发人员基本上都听说过,但是真正用的可能不多。ViewS