我们都知道,android开发中,自定义View的自定义参数的获取方法是:
TypedArray array=context.obtainStyledAttributes(attrs,R.styleable.Horiz);
我们能获取到这些的自定义的参数:
<com.xiaoyifei.horiz
android:id="@+id/id_horiz"
android:layout_width=“200dp”
android:background="#000000"
android:textSize=“32sp”
android:textColor="@android:color/white"
app:defaultValue=“5”
app:valueFrom=“2”
app:valueTo=“10”
android:columnCount=“3”
android:layout_height=“50dp” />
但有时我们想获得系统View本身的参数,如这样的:
<com.xiaoyifei.horiz
android:id="@+id/id_horizontal_picker"
android:layout_width=“200dp”
== android:background="#000000"==
android:textSize=“32sp”
android:textColor="@android:color/white"
app:defaultValue=“5”
app:valueFrom=“2”
app:valueTo=“10”
android:columnCount=“3”
android:layout_height=“50dp” />
其实获取方法还是这样的:
TypedArray array=context.obtainStyledAttributes(attrs,R.styleable.Hori);
只是在定义attrs时要引用“android:"命名空间。
<?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="Horiz"> <attr name="android:textSize"/> <attr name="android:textColor"/> <attr name="android:defaultValue"/> <attr name="android:valueFrom"/> <attr name="android:valueTo"/> <attr name="android:columnCount"/> </declare-styleable> </resources>
这样你在layout布局自定义View时就可以直接使用常用android的命名。
<com.xiaoyifei.horizo android:id="@+id/id_horizontal_picker" android:layout_width="200dp" android:background="#000000" android:textSize="32sp" android:textColor="@android:color/white" android:defaultValue="5" android:valueFrom="2" android:valueTo="10" android:columnCount="3" android:layout_height="50dp" />
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/addevelopment/892361.html