1.自定义控件
刚开始以为自定义控件很容易,后来发现涉及的内容太多了,不是一次能学清楚讲明白的,这里本人结合自己的学习经验,简单的介绍下如何自定义一些简单的控件,并给出相应的代码,供大家学习,如有错误欢迎大家评判指正,如有意见可以在下面留言。
2.切入正题,如何自定义控件,首先得要明白和了解view。
任何复杂的技术后面都是一点点简单知识的积累。通过对自定义控件的学习去可以更深入的掌握android的相关知识点。在Android APP中,所有的用户界面元素都是由View和ViewGroup的对象构成的。View是绘制在屏幕上的用户能与之交互的一个对象。而ViewGroup则是一个用于存放其他View(和ViewGroup)对象的布局容器! Android为我们提供了一个View和ViewGroup子类的集合,集合中提供了一些常用的输入控件(比如按钮和文本域)和各种各样的布局模式(比如线性或相对布局)
官方说法:Android里的图形界面都是由View和ViewGroup以及他们的子类构成的: View:所有可视化控件的父类,提供组件描绘和时间处理方法 。ViewGroup: View类的子类,可以拥有子控件,可以看作是容器 Android UI中的控件都是按照这种层次树的结构堆叠得,而创建UI布局的方式有两种, 自己在Java里写代码或者通过XML定义布局,后者显得更加方便和容易理解! 也是我们最常用的手段!另外我们一般很少直接用View和ViewGroup来写布局,更多的时候使用它们的子类控件或容器来构建布局!
3.自定义View的基本步骤,有些可能不需要,大家根据自己的实际情况来选择:
1、创建View
2、处理View的布局
3、绘制View
4、与用户进行交互
5、优化已定义的View
也有人说,自定义view的时候,其实很简单,只需要知道3步骤:测量——onMeasure():决定View的大小,布局——onLayout():决定View在ViewGroup中的位置,绘制——onDraw():如何绘制这个View,这个因人而异,个人觉得怎么理解都可以。下面按5个步骤来讲解自定义控件的步骤。
4、创建MyView
这一步当然是继承View了,public class MyView extends View,android的控件基本都是继承View的,如果你是想用某些控件的一些功能,你可以单独继承这个控件,如button,TextView等
为了能在.xml文件中编辑了一个控件,在运行的时候就能够看到和获得这个控件。我们自定义的控件当然也要支持配置和一些自定义属性,所以下面的构造方法就必须有了 super(context, attrs, defStyle)。这个构造方法允许我们在.xml文件中创建和编辑我们自定义控件的实例。
public MyView(Context context, AttributeSet attrs, int defStyle)
{
super(context, attrs, defStyle);
...
...
}