android:background 更改了标题背景颜色
android:background changed title background color
我在 styles.xml 中有不同的主题,并且我在每个主题中使用了不同的 background
颜色。
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:background">@color/transparent</item>
</style>
<style name="AppThemeDark" parent="Theme.AppCompat">
<item name="colorPrimary">@android:color/transparent</item>
<item name="colorPrimaryDark">@android:color/black</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:background">#181818</item>
</style>
<style name="AppThemeLight" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimaryLight</item>
<item name="colorPrimaryDark">@color/colorPrimaryDarkLight</item>
<item name="colorAccent">@color/colorAccentLight</item>
<item name="android:background" >@color/backgroundLight</item>
</style>
xml 片段,
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<include layout="@layout/content_main" />
<android.support.design.widget.AppBarLayout
android:background="@android:color/transparent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:elevation="0dp"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:background="@android:color/transparent"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>
当我更改主题时,title background
也更改为该颜色。
我尝试在每个主题中使用以下内容,但它不起作用。
<item name="android:windowTitleBackgroundStyle">@style/titletheme</item>
和标题主题,
<style name="titletheme">
<item name="android:background">#00000000</item>
</style>
看图片,标题背景在该主题中更改为 android:background
颜色。
如何防止标题背景色改变?
只需更改一件事并告诉我它是否有效:从您的主题中删除 "android:background" 并添加 "android:windowBackground"。看看这是否有帮助。其余保持不变。
我在 styles.xml 中有不同的主题,并且我在每个主题中使用了不同的 background
颜色。
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:background">@color/transparent</item>
</style>
<style name="AppThemeDark" parent="Theme.AppCompat">
<item name="colorPrimary">@android:color/transparent</item>
<item name="colorPrimaryDark">@android:color/black</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:background">#181818</item>
</style>
<style name="AppThemeLight" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimaryLight</item>
<item name="colorPrimaryDark">@color/colorPrimaryDarkLight</item>
<item name="colorAccent">@color/colorAccentLight</item>
<item name="android:background" >@color/backgroundLight</item>
</style>
xml 片段,
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<include layout="@layout/content_main" />
<android.support.design.widget.AppBarLayout
android:background="@android:color/transparent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:elevation="0dp"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:background="@android:color/transparent"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>
当我更改主题时,title background
也更改为该颜色。
我尝试在每个主题中使用以下内容,但它不起作用。
<item name="android:windowTitleBackgroundStyle">@style/titletheme</item>
和标题主题,
<style name="titletheme">
<item name="android:background">#00000000</item>
</style>
看图片,标题背景在该主题中更改为 android:background
颜色。
如何防止标题背景色改变?
只需更改一件事并告诉我它是否有效:从您的主题中删除 "android:background" 并添加 "android:windowBackground"。看看这是否有帮助。其余保持不变。