关于自定义布局,xml中配置属性(attrs)

自定义布局中、在xml 自定义属性

例如:

<com.momo.PollNumberProgress
    android:id="@+id/poll_progressbar1"
    android:layout_width="match_parent"
    android:layout_height="30dp"
    android:paddingLeft="10dp"
    android:visibility="gone"
    app:pollBackground="@color/poll_progbar1" />
这里app:? 属于xml命名空间,

在你的根Layout 

xmlns:app="http://schemas.android.com/apk/res-auto"

这里在给NumberProgress 自定义一个Background颜色、 app:pollBackground=“@color/progbar1” ?


在看看Java代码如何取出来

public PollNumberProgress(Context context) {
    this(context, null);
}

public PollNumberProgress(Context context, AttributeSet attrs) {
    this(context, attrs, R.attr.numberProgressBarStyle);
}

public PollNumberProgress(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
    this.context = context;
    final TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.PollThemes, defStyleAttr, 0);
    pollBackground = a.getColor(R.styleable.PollThemes_pollBackground, context.getResources().getColor(R.color.clear));
    a.recycle();
}

引用attrs:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="PollThemes">
        <attr name="numberProgressBarStyle" format="reference"/>
        <attr name="pollBackground" format="color"></attr>
    </declare-styleable>
</resources>
类型:

关于自定义布局,xml中配置属性(attrs)_第1张图片

关于Attrs用法:

参考:点击打开链接

参考:点击打开链接




你可能感兴趣的:(android,android,android,attrs,attrs引用)