美文网首页
android 自定义View中获取系统属性

android 自定义View中获取系统属性

作者: 湖南的肖逸飞 | 来源:发表于2020-09-26 18:49 被阅读0次

    我们都知道,android开发中,自定义View的自定义参数的获取方法是:

    TypedArray array=context.obtainStyledAttributes(attrs,R.styleable.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本身的参数,如这样的:

    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"/>

    相关文章

      网友评论

          本文标题:android 自定义View中获取系统属性

          本文链接:https://www.haomeiwen.com/subject/soqhuktx.html