关于自定义控件之自定义属性篇
来源:互联网 发布:tensorflow spark 编辑:程序博客网 时间:2024/06/13 07:39
有些时候,我们自定义某个控件,需要为改控件添加一些自定义的属性时,可以分为以下步骤
一、
1.在res下新建attr目录,并且在该目录下新建自定义的xml文件
<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="MyView"> <attr name="ViewHeight" format="dimension"></attr> <attr name="ViewWidth" format="dimension"></attr> </declare-styleable></resources>
2.在控件所在的布局文件的最外层的布局中声明自定义属性空间
xmlns:app = "http://schemas.android.com/apk/res-auto"其中的“app”,可以自行定义
3.在自定义控件中使用自定义的属性
<admin.example.com.canvasandpaintandpathtest.MyView android:layout_height="wrap_content" android:layout_width="wrap_content" app:ViewHeight="3.5dp" app:ViewWidth="3.5dp"/>以上就是自定义属性的步骤了。
二、关于自定义属性详解
《Android 深入理解Android中的自定义属性》
三、拓展
在自定义View的构造方法中使用TypedArray去获取View的属性时,发现设置上面的3.5dp,
float width = typedArray.getDimension(R.styleable.MyView_ViewWidth,0); float height = typedArray.getDimension(R.styleable.MyView_ViewHeight,0); Log.i("MYVIEWDATA ","宽度为:"+width); Log.i("MYVIEWDATA ","高度为:"+height);日志打出的是10.5。
原因是因为屏幕密度不一样导致,这里的测试手机屏幕密度为480,所以这里打印出的日志结果,实际上是屏幕scale = 3 乘 3.5,最终为10.5
具体可以参考
《getDimension与getDimensionPixelOffset与getDimensionPixelSize的区别》
0 0
- 关于自定义控件之自定义属性篇
- 自定义控件之自定义属性
- 关于自定义控件的自定义属性
- Android自定义组合控件之自定义属性
- 自定义View之自定义控件属性
- Android自定义控件之自定义属性解析
- Android自定义控件之自定义属性
- Android自定义控件之自定义属性
- Android自定义控件之自定义属性
- 自定义控件----自定义属性
- 自定义控件:自定义组合控件+自定义属性
- 关于自定义控件引用自定义属性那点事
- Android自定义控件 自定义属性
- 自定义控件和自定义属性
- 自定义控件三:自定义属性
- 自定义控件及自定义属性
- 自定义控件1--自定义属性
- 自定义控件之一:自定义属性
- OpenCV3.0 Examples学习笔记(11)-houghcircles.cpp-houghcircles函数实现圆形检测
- spark wordcount
- 最小生成树--Prim算法和Kruskal算法
- 微信小程序全套使用指南
- ARM 汇编指令学习:[2]ARM指令集
- 关于自定义控件之自定义属性篇
- java序列化反序列化原理
- 杂技杂记
- Lucene: 全文检索的基本原理
- flume入门例子
- LeetCode 112 Path Sum
- Android 性能优化
- 腾讯云服务器中的80端口占用问题
- Notepad++中常用的插件