0

我有这个 xml 文件,它应该在和divider之间显示一个.TextViewButton

我正在使用holoeverywhere库。

使用此代码,除法不显示

    <org.holoeverywhere.widget.LinearLayout
                         xmlns:holo="http://schemas.android.com/apk/res-auto"
                         xmlns:android="http://schemas.android.com/apk/res/android"
                        android:id="@+id/topcontainer"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        holo:divider="?attr/dividerVertical"
                        holo:dividerPadding="8dp"
                        android:orientation="horizontal"
                        holo:showDividers="middle" >

                        <org.holoeverywhere.widget.TextView
                            android:id="@+id/textView6"
                            android:layout_width="0dp"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:layout_weight="1"
                            android:text="@string/str1" />

      <org.holoeverywhere.widget.Button
                            android:id="@+id/add"
                            style="?attr/borderlessButtonStyle"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:layout_gravity="center_vertical"
                            android:text="ADD" />
</org.holoeverywhere.widget.LinearLayout>

现在问题在于这些属性LinearLayout

holo:divider="?attr/dividerVertical"
holo:dividerPadding="8dp"
holo:showDividers="middle"

如果我将namespace这些属性更改为android喜欢它,它会起作用并显示分隔线。

任何建议

4

1 回答 1

1

使用android命名空间。那应该很好。

正如我看到的attrs 这里的源代码。

<declare-styleable name="LinearLayout">
        <attr name="android:baselineAligned"/>
        <attr name="android:baselineAlignedChildIndex"/>
        <attr name="android:divider"/>
        <attr name="android:dividerPadding"/>
        <attr name="android:gravity"/>
        <attr name="android:measureWithLargestChild"/>
        <attr name="android:orientation"/>
        <attr name="android:showDividers"/>
        <attr name="android:weightSum"/>
</declare-styleable>

自定义 attrs 似乎是使用 android 命名空间定义的。

此外,查看org.holoeverywhere.widget.LinearLayout 此处的源代码,您会看到LinearLayout该类使用上面定义attrs的 LinearLayout_ android _baselineAlignedChildIndex ,因此与android namespace.

于 2013-09-16T22:36:44.153 回答