12

アプリが起動しているのにコンテンツがまだ表示されていない短い期間に白い色を取り除きたいのですが。

@style/Theme.Sherlock.Light.DarkActionBar私の主な活動は、背景をに設定して拡張するスタイル(マニフェストから)を使用すること<item name="android:background">@android:color/transparent</item>です。レイアウトのどこにも白い背景色を使用していませんが、アプリの起動中に少しの間表示されます。

HierarchyViewerでレイヤーをエクスポートし、レイアウト階層に白い実線が実際にないことを確認しました。

レイアウトが描画される前に、どの設定が背景色を制御しますか?ありがとう。

4

3 に答える 3

40

テーマには別の背景属性があります- windowBackground、からスタイルを継承することにより、暗黙的に白に設定します@style/Theme.Sherlock.Light.DarkActionBar(名前の一部に注意してください.Light.)。

テーマのダークバージョンを使用するかwindowBackground、スタイル定義に含めることで明示的に設定できます。

<item name="android:windowBackground">@color/your_color</item>   
于 2013-01-22T15:41:24.057 に答える
0
<style name="Theme.Transparent" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowIsTranslucent">true</item>
</style>
于 2017-01-17T09:28:52.137 に答える
0

または、ドローアブルを使用できます。以下のように、spash画面のテーマを作成しました:)

<style name="SceneTheme.Light.NoActionBar" parent="Theme.MaterialComponents.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

<style name="SceneTheme.Light.NoActionBar.Transparent.StatusBar" parent="SceneTheme.Light.NoActionBar">
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
    <item name="android:windowTranslucentStatus">true</item>
    <item name="android:windowBackground">@drawable/bg_splash</item>
</style>
于 2019-07-24T02:05:58.023 に答える