0

Android:background を使用して背景色を変更することは知っていますが、これにより、GPU がアプリに描画する必要がある別のレイヤーが追加されます。GPUオーバードローの別のレイヤーを追加せずに、スタイルの背景を設定するために何かを変更する方法があるかどうか疑問に思っていました. おそらく、ある種のスタイルで行うことができますが、私がスタイルで試したことは、通常のライトテーマの背景の上に再描画するだけのようです.

4

1 に答える 1

1

res/values フォルダーにファイルを作成し、名前を付けます。たとえば、theme.xml

<resources>
    <style name="Theme.NoBackground" parent="android:Theme">
        <item name="android:windowBackground">@null</item>
    </style>
</resources>

親には、アプリケーション マニフェストで使用しているテーマを使用します。ロジックは、親テーマを拡張し、背景属性を設定しているということです。

マニフェスト ファイルで、新しいスタイルをapplicationタグ間のアプリケーション テーマとして設定します。

android:theme="@style/Theme.NoBackground"

これによりテーマの背景が削除されるため、レイアウトの各アクティビティの背景を設定する必要があります。nullドローアブルを割り当てるのではなく、すべてのアプリケーションに 1 つの背景を設定する場合。そんな感じ

<item name="android:windowBackground">@drawable/abc</item>

Romain Guy はこの記事で説明しています。単純化しようとしました :

http://www.curious-creature.org/2009/03/04/speed-up-your-android-ui/

于 2013-08-13T15:02:41.373 に答える