1

アプリケーション マニフェストの適切なエントリを使用して、アプリケーション全体に適用されるカスタム テーマでTextAppearance.Mediumをオーバーライドしようとしています。何らかの理由で、指定したスタイルは、カスタム レイアウトと SimpleAdapter を使用して入力している ListView 内にネストされたビューには適用されません。スタイルは、 ListView にバインドされたアイテムではない TextView ビューに適用されます

テーマ定義とカスタム レイアウトのサンプルを以下に示します。

明確にするために、カスタム レイアウトを使用してリストに項目を設定する際に問題はありません。私のテーマは間違いなくアプリケーション全体に適用されています。また、RelativeLayout を使用してリスト項目のレイアウトを最適化できることも認識しています。リスト項目のスタイルが正しく設定されていない理由についての答えを探しているだけです。

テーマ継承の機能を誤解していますか、または継承/オーバーライドする必要がある追加のリスト固有のスタイルがありますか?

API レベル 7 (Android 2.1)

HTC Evo 4G と汎用 AVD デバイスを使用したテスト


テーマの定義

<style name="Theme" parent="android:Theme.Light.NoTitleBar">
  <item name="android:textAppearanceMedium">@style/TextAppearance.Medium</item>
</style>

<style name="TextAppearance.Medium" parent="android:style/TextAppearance.Medium">
  <item name="android:textColor">@android:color/black</item>
</style>

リスト アイテム レイアウトの定義

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent" android:orientation="horizontal" android:padding="10dp">
    <TextView android:layout_width="wrap_content" android:text="TextView" android:id="@+id/jobItemDateDueTextView" android:layout_height="fill_parent" android:gravity="center" android:textStyle="bold" android:layout_marginRight="15dp"></TextView>
    <LinearLayout android:layout_width="wrap_content" android:layout_height="fill_parent" android:orientation="vertical">
        <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView" android:id="@+id/jobItemHeaderTextView" android:maxLines="1" android:textAppearance="?android:attr/textAppearanceMedium"></TextView>
        <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="TextView" android:id="@+id/jobItemContentTextView"></TextView>
    </LinearLayout>
</LinearLayout>
4

1 に答える 1

3

上記のコメントスレッドからの議論を続けると、アプリケーションContextはあなたが持っているのと同じテーマ情報を一緒に運ぶことはありActivityません。UI要素を生成するためActivityにが必要な場合は、インスタンスを使用します。Context

于 2011-06-12T20:21:55.247 に答える