21

デフォルトの ListView コントロールとまったく同じように見えるように、仕切りを追加しようとしている LinearLayout ビューがあります。デフォルトの Android (Nexus S 2.3.3) 連絡先アプリ内で編集連絡先を複製しようとしていますが、LinearLayout がパフォーマンスに最適であると考えています。

以下に示すように、コードを使用して分周器を複製しています。

    <View
    android:id="@+id/Separator"
    android:layout_width="fill_parent"
    android:layout_height="?android:attr/dividerHeight"
    android:background="?android:attr/divider"/>

デフォルトの仕切りの色またはドローアブル、および仕切りの高さにアクセスするにはどうすればよいですか? これを私が設定した ListViews と一致させたいので、Android システム属性を使用するのが最善だと思います。上記のコードは以下に示すようにクラッシュするため、これらの属性にアクセスできないか、これについて間違っていると思います。

03-13 22:59:38.851: ERROR/AndroidRuntime(3575): Caused by: java.lang.RuntimeException: Binary XML file line #26: You must supply a layout_height attribute.
4

2 に答える 2

38

これは、Android ソース コードで行われる方法です。

<View android:id="@+id/Separator"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:background="?android:attr/listDivider" />
于 2011-03-13T14:19:37.690 に答える