5

アクティビティにいくつかのテーマを使用するアプリを作成しています。これらはすべて、ICS以前のバージョンのAndroidを実行している携帯電話で正常に動作しますが、何らかの理由で、Galaxy Nexus(4.1を実行)およびNexus S(4.0.4を実行)にテーマを適用すると、背景は常に黒になります。

これが私が使用しているテーマの1つで、機能していません。

<style name="BlueStyle" parent="@android:style/Theme.Holo.NoActionBar">
    <item name="android:background">@color/Blue</item>
    <item name="android:textColor">@android:color/white</item>
    <item name="android:textSize">16dip</item>
</style>

青い色は私ので定義されていres/values/colors.xmlます。テーマはres/values-v11/styles.xml私のマニフェストにあり、次のように参照されています。

<activity
        android:name=".activity.SplashActivity"
        android:theme="@style/BlueStyle"
        android:configChanges="orientation|keyboardHidden|screenSize"/>

そして、私が言ったように、同様のテーマ(下res/valuesで、親として使用@android:style/Theme.NoTitleBar)は、AndroidのICS以前のバージョンの同じアクティビティで正常に機能します。レイアウトファイルに移動してレイアウトの背景を作成して@color/Blueも、アクティビティにテーマを割り当てている場合は黒のままです。ただし、テーマをに設定すると@android:style/Theme.NoTitleBar、アクティビティはレイアウトファイルで強制した青色を使用することがわかりました。

また、アプリケーション全体のテーマとしてBlueStyleを設定してみましたが、違いはありません。

他の誰かが以前にこの問題を経験しましたか?v11より前のテーマとv11+のテーマの両方をサポートしようとするのはこれが初めてなので、いくつかの非常に明白なエラーを犯している可能性があります。

編集:また、アクティビティの開始時に一瞬だけ青い色が表示されますが、その後背景が黒に変わることにも言及するのを忘れました。その情報が役立つかどうかわからない。

編集#2: 3.2を実行しているGalaxy Tab 10.1でもテストしたところ、問題もあります。

4

2 に答える 2

1

見た目からすると、Honeycomb以上では、テーマのアクティビティは単純に壊れています。アクティビティ固有のテーマを削除し、代わりにスタイルをレイアウトファイルに追加することで、問題を「解決」しました。

この問題が発生した場合は、テーマをレイアウトに適用する前に、AndroidManifest.xmlのアクティビティからテーマを削除してください。それ以外の場合、問題は解決しません。

于 2012-07-20T14:12:50.580 に答える
-1

.xmlで、テーマオプションの下に選択された上部のthemelayoutは何ですか。また、ドロップダウンボックスを選択し、[開く]をクリックして、宣言とxmlがAndroidamnifestだけでなくそこにもあることを確認します。

なんらかの理由でスタイルを変更してもすぐに受け入れられることに気づき、何度も保存する必要がありました。

于 2012-07-06T20:52:38.250 に答える