1

自分の活動の1つで、個々のビューにテーマを設定するのに問題があります。

マニフェストのアプリケーションタグにテーマを設定することは、マニフェストのアクティビティタグにテーマを設定することと同様に完全に機能します。

マニフェストにテーマが設定されているかどうかに関係なく、個々のビューにテーマを設定しようとすると、次のようになります。

<TextView
        android:id="@+id/userFullNameTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginTop="5dp"
        android:layout_toRightOf="@+id/profileImageView"
        android:text="Bobby Joe"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:theme="@style/Theme.Sherlock.Light" />

ビューは常にデフォルトのテーマ(マニフェストに何も設定されていない)またはマニフェストで指定された同じテーマのいずれかで表示されます。

xmlファイルのどこでもTheme.Sherlock.Lightテーマをオーバーライドしていません。私は何の役にも立たないテーマのいくつかの異なる組み合わせを試しました。ああ、私は明らかにActionBarSherlockを使用しています。

編集

新しいスタイルを作成する場合:

<style name="SideMenuStyle" parent="Theme.Sherlock.Light" >
</style>

xmlでこのスタイルを使用しても、正しいスタイルが表示されません。

4

1 に答える 1

0

android:themeビューに定義されたxml属性はありません。style代わりにxml属性を使用できますが、テーマ全体ではなく、ビューのスタイルを参照する必要があります。次のように使用します。

<TextView
    android:id="@+id/userFullNameTextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_marginTop="5dp"
    android:layout_toRightOf="@+id/profileImageView"
    android:text="Bobby Joe"
    android:textAppearance="?android:attr/textAppearanceMedium"
    style="@style/MyTextViewStyle" />

TextViewテーマのスコープ内のすべてのインスタンスまたはその他のウィジェットのデフォルトテーマを定義することもできることに注意してください。それはテーマでTextView定義することを意味します:android:textViewStyle

<style name="MyTheme" parent="@style/Theme.Sherlock">
    <item name="android:textViewStyle">@style/MyTextViewStyle</item>
</style>
于 2013-01-25T13:06:11.147 に答える