简体   繁体   English

Android中样式(主题)的奇怪行为

[英]Strange behavior of styles (Themes) in Android

I got this styles for my Android app: 我的Android应用程式有以下样式:

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:windowBackground">@color/background_new</item>
    <item name="android:textColorPrimary">@color/colorAccent</item>
    <item name="android:textColorHint">@color/colorAccentHint</item>

    <!-- Customize your theme here. -->
</style>

<style name="MyToolBar" parent="Widget.AppCompat.ActionBar">
    <!-- Support library compatibility -->
    <item name="android:textColorPrimary">@color/colorAccent</item>
    <item name="android:textColorSecondary">@color/colorAccent</item>
    <item name="colorControlNormal">@color/colorAccent</item>

</style>

<!-- Custom searchView may be used or not-->
<style name="SearchViewStyle" parent="Widget.AppCompat.SearchView">
    <!-- Gets rid of the search icon -->
    <item name="searchIcon">@null</item>
    <!-- Gets rid of the "underline" in the text -->
    <item name="queryBackground">@null</item>
    <!-- Gets rid of the search icon when the SearchView is expanded -->
    <item name="searchHintIcon">@null</item>
    <!-- The hint text that appears when the user has not typed anything -->
    <!--<item name="closeIcon">@null</item> -->
</style>

<style name="MyCustomTabLayout" parent="Widget.Design.TabLayout">
    <item name="tabTextAppearance">@style/MyCustomTabText</item>
</style>

<style name="MyCustomTabText" parent="TextAppearance.Design.Tab">
    <item name="android:textSize">12sp</item>
</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

<style name="NavDrawerTextStyle" parent="Base.TextAppearance.AppCompat">
    <item name="android:textSize">12sp</item>
</style>

<style name="MyCheckBox" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorControlNormal">@color/colorPrimaryTransparent</item>
    <item name="colorControlActivated">@color/colorAccent</item>
</style>

<style name="AppCompatAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert">
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:textColorPrimary">@color/colorAccent</item>
    <item name="android:background">@color/background1</item>
    <item name="android:buttonStyle">@style/MyApp.BorderlessButton</item>
</style>

<style name="MyApp.BorderlessButton" parent="@style/Widget.AppCompat.Button.Borderless">
    <item name="android:textSize">12sp</item>
</style>

<style name="MyRadioButton" parent="Theme.AppCompat.Light">
    <item name="colorControlNormal">@color/colorAccent</item>
    <item name="colorControlActivated">@color/colorAccent</item>
</style>

Normally i have transparent background on Toolbar of NavigationDrawler menu items click. 通常,我在NavigationDrawler菜单项的工具栏上单击具有透明背景。

But sometimes theme in my app changes to Holo theme , and i can figure it out when its happens , so when i press menu items in Toolbar or in NavigationDrawler their background become blue, like in Holo theme 但是有时我的应用程序中的主题会更改为Holo主题 ,并且我可以在出现主题时弄清楚它,因此当我按工具栏NavigationDrawler中的菜单项时,它们的背景会变成蓝色,就像在Holo主题中一样

Where i have mistake and why its happens? 我在哪里出错,为什么会出错?

Can you publish your Android Manifest ? 您可以发布Android清单吗? Maybe some activities override the base application style ? 也许某些活动会覆盖基本应用程序样式?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM