简单的自定义view制作
来源:互联网 发布:ai矢量图软件 编辑:程序博客网 时间:2024/05/21 09:57
Android的所有视图控件都是View的子类,制作自定义视图则一样需要继承自这个类。View本身是空白一片的,需要通过重写onDraw(Canvas)方法来画制。
继承自View后,就是一个可以用的视图了,那么就必须具备视图能被创建和引用的基本功能吧。视图可以在代码里被创建和引用,也可以在布局文件里被创建和引用,所以2个不同的构造函数是少不了的。
public ExampleView(Context context){this(context,null);}public ExamplieView(Context context,AttributeSet attrs){super(context,attrs); //AttributeSet是在创建xml时要指定的属性集}
画制自定义View要使用到2个工具类,Canvas和Paint,类似于纸和笔一样,只是不同于真实世界,最后执行动作是让纸来做(调用Canvas里的方法)。Canvas的一些方法,比如drawPaint,drawRect等,Paint的配置方法,比如setColor等,具体的可以查询相关文档。
当视图被启动时,会触发一次onDraw(Canvas canvas)方法,画制里面定义的视图,当我们需要在经过一些操作后,改变视图,则调用invalidate()方法让画布失效,然后重新调用onDraw方法。
*对于任何一个继承自View的视图控件,可以重写里面的一个方法来监听触摸事件,onTouchEvent(MotionEvent),当视图被触摸时,这个方法就会被调用一次,对于用户不同的触摸方式,可以在里面监听到就做出相应的操作。
当用户点击视图时就会产生一个MotionEvent给onTouchEvent,可以通过MotionEvent的实例.getAction()获得具体的触摸事件。触摸事件里比较常用的有3个,点击ACTION_DOWN,拖动ACTION_MOVE,释放ACTION_UP。
其中,对于用户点击的地方,可以用PoinfF对象来记录那个位置。当用户产生触摸事件时,会产生一个MotionEvent类实例,可以用这个实例产生时的坐标来创建PointF对象,也就是用motionEvent.getX()/getY()来创建PointF实例。
- 简单的自定义view制作
- 浅谈安卓自定义view(一):制作一个最最最简单的自定义view
- 简单的view 自定义
- 简单的自定义View
- 简单的自定义view
- 支付宝芝麻信用页面自定义View的简单制作(续)
- Android自定义简单的View
- Android自定义简单的View
- Android自定义简单的View
- 自定义view的简单使用
- 简单的学习自定义view
- 简单易懂的自定义view
- 简单的混合自定义View
- Android自定义View 一<最简单的自定义View>
- 制作简单刮刮乐View
- 一个简单的自定义VIEW的DEMO
- 简单的自定义View的实现
- 简单代码使用nib自定义的view
- RSA
- 华为机试——提取不重复的整数
- Excel 技巧百例:随机填充数据
- 可变参数
- Bigdata Development Java_Study_02 (继承 基本定义以及构造方法)
- 简单的自定义view制作
- 利用python实现对鼠标的移动点击操作(PyMouse 模块安装方法)
- 集群基础----(lvs【Linux+virtual+server】)
- 【PAT B1019/A1069】数字黑洞
- 解析XML
- Remove Element(去除数组中重复的值)
- idea中Mybatis Plugin插件安装破解及使用
- young people can also be a leader
- java中的几种对象(PO,VO,DAO,BO,POJO)