我可以在android布局包含标签上设置自定义属性吗



我正试图为根为自定义视图的布局在include标记上设置一个自定义属性:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:archxs="http://schemas.android.com/apk/res/com.archxs.bincalc"
    android:id="@+id/calculatorRowMenuAnchor" 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_vertical"
    android:visibility="gone">
    <include android:id="@+id/calculatorrowmenu_result_running"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             archxs:isRunningResult="true"
             layout="@layout/single_line_result" />
...

包括:

<?xml version="1.0" encoding="utf-8"?>
<com.archxs.bincalc.SmallIntegerResultView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:orientation="horizontal"
    android:clickable="true">
...
</com.archxs.bincalc.SmallIntegerResultView>

但未设置自定义属性:

public SmallIntegerResultView(Context context, AttributeSet attrs) {
    super(context,attrs);
    final TypedArray styled = context.obtainStyledAttributes(attrs, R.styleable.ResultView);
    try {
        m_isRunningResult = styled.getBoolean(R.styleable.ResultView_isRunningResult, false);
    } finally {
        styled.recycle();
    }
}

这样行吗?如果不是,为什么?如果是,我做错了什么?

谢谢大家?

对不起,可能有点晚了,但因为我遇到了类似的问题:

您是否在attrs.xml中声明了自定义属性?

查看此链接以获得更多解释:android小部件的自定义xml属性

最新更新