Android自定义view基础详解及开发流程
来源:互联网 发布:男性疾病网络咨询 编辑:程序博客网 时间:2024/05/20 18:46
自定义view应该说是Android开发通往高级开发的必经之路,自定义view也是很多Android开发者不愿意去触碰的知识点,自定义view到底是什么样子今天我就要揭开自定义view的黑暗面纱。个人学习总结认为自定义view大致分为以下几个过程:
1.自定义view单纯的用画笔绘制view(死view)
2.自定义view增加手势
3.自定义view增加动画
4.自定义view手势动画交互 ,这4步让我们一步一步的来探索学习
有些ui给的图,我们的现有控件不能满足,所以这时候就需要我们自己去自定义view尽量和ui图接近。工作几年之后如果你还说你对自定义view不了解,哪就尴尬了。所以让我们静下心来慢慢的学习吧。
今天主要介绍一下自定义view的基础属性和开发流程:(从最基础的每一步讲起)
1.要自定义view首先要创建一个 类继承View类如下:
2.就是重写他的3个构造方法,这里是和hongyang老师学的,一个属性的构造方法调用两个属性的构造方法两个属性的构造方法调用三个属性的构造方法,最后的初始化数据都放在第三个中,这样写不管调用哪一个构造方法,初始化的数据都不会空指针。
3.以上写完之后就要去定义我的view的属性,属性在res下面创建一个attrs.xml页面。这个页面的作用就是定义我们的参数,不把参数写死,在布局中我们可以任意定义大小尺寸方法如下:
name就是我们的属性,format就是属性对应的参数的类型,有dimension就是dp,color就是颜色值,Integer就是float类型的等这些都是常用的数据类型。
4.参数定义好了我们就要使用,接下来就是如何使用刚刚定义的参数,在哪里使用两个问题:首先是在我们布局中使用我们的参数,在跟布局中定义:
xmlns:app="http://schemas.android.com/apk/res-auto"这句话是不能少的,这里的app可以随便取,然后就是引用我们的view了
<com.example.administrator.myview.PopuView android:id="@+id/po" android:layout_width="300dp" android:layout_height="200dp" android:layout_gravity="center" app:ridus="5dp" app:popu_bg="@color/colorAccent" />引用view就是 报名+view的名字,这里的app参数要和我们上面定义的名字相同,通过app这个名字访问我们attrs里面定义的参数,注意参数类型一定要对应,color就要填color,dimension就是对应dip/dp。不能有误呀。
5.参数定义好了,下面就是到我们的view类中去获取参数值来使用了。我们之前说了初始化数据都要放到第三个构造方法中去,所以获取参数就是在第三个构造方法中获取
public PopuView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); TypedArray a = context.obtainStyledAttributes(attrs,R.styleable.PopuView,0,0); ridus = a.getDimension(R.styleable.PopuView_ridus,5); popu_bg = a.getColor(R.styleable.PopuView_popu_bg,0xFF4081); a.recycle();}这里获取的就是我们attrs.xml中的属性。在这里给属性赋值,以便我们绘制的时候使用这些参数,绘制我们的view大小尺寸。
自定义view的基础开发流程就是这些,对于 ondraw();方法这里不多介绍,到下一篇我会详细介绍view开发中必不可少方法,onMeasure()和ondraw();
- Android自定义view基础详解及开发流程
- Android View 绘制流程 及 自定义View
- Android自定义View基础详解
- Android的自定义View及View的绘制流程
- Android自定义View基础之自定义View分类及须知
- Android自定义View基础之MeasureSpec详解
- Android自定义View基础之onMeasure详解
- Android自定义View基础之onLayout详解
- Android自定义View基础之onDraw详解
- Android 自定义View流程
- Android自定义View流程
- Android自定义View流程
- Android开发之自定义View --详解
- Android 自定义View基本绘制流程及实例
- Android自定义view时的具体开发流程
- Android自定义View基础
- android--View自定义基础
- android自定义View基础
- Java 强制垃圾回收
- laravel自动加载
- 支持多种浏览器的回车事件触发。
- java抽奖算法
- 元数据
- Android自定义view基础详解及开发流程
- eclipse 关联maven源码
- 错误日志:Error:java: 无效的源发行版: 1.8
- python版的斐波那契
- tomcat配置参数详解
- tableView 头部添加状态 今日头条刷新数据效果
- Why Programs Fail-系统化调试指南 (德)_读书笔记
- css3实现无缝滚动
- spring-batch3.0参考文档中文版