2

我正在尝试在其根为自定义视图的布局的包含标记上设置自定义属性:

<?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();
    }
}

这应该工作吗?如果不是为什么?如果是,我做错了什么?

谢谢大家?

4

1 回答 1

0

抱歉,可能有点晚了,但我遇到了类似的问题:

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

查看此链接以获得更多解释:custom-xml-attributes-for-android-widgets

于 2013-08-16T03:13:40.713 回答