android 自定义View中获取系统属性
我们都知道,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" />
本文地址:https://blog.csdn.net/weixin_41101101/article/details/108815238
上一篇: 某个女汉子坐了48小时硬座的T164在*呆了三个月
下一篇: 寒假练习——WERTYU
推荐阅读
-
Android实现在xml文件中引用自定义View的方法分析
-
Android自定义可点击的ImageSpan并在TextView中内置View
-
解析android中系统日期时间的获取
-
Android中XML的命名空间、自定义属性解析
-
Android自定义View中Paint、Rect、Canvas介绍(一)
-
android开发中自定义view、添加自定义属性
-
Android中自定义View的实现方式总结大全
-
Android开发中获取判断系统当前时间格式并获取当前时间
-
Android中通过view方式获取当前Activity的屏幕截图实现方法
-
android仅通过自定义属性id值获取样式自定义属性值