Android-在特定活动中更改主题

时间:2015-03-19 06:06:42

标签: android android-theme android-switch

我的应用的基本主题是:

<style name="AppTheme" parent="@android:style/Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
        <item name="android:actionBarTabTextStyle">@style/MyActionBarTabText</item>
        <item name="android:actionBarTabBarStyle">@style/MyActionBarTabBar</item>
        <item name="android:actionBarTabStyle">@style/MyActionBarTabView</item>
        <item name="android:popupMenuStyle">@style/MyMenu</item>
        <!--<item name="android:actionBarStyle">@style/window_action_bar_style</item>-->
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:windowContentOverlay">@null</item>
    </style>

我想将这个主题应用于一个活动。

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

但是当我这样做时,我无法访问该活动中的SwitchCompat小部件:

<android.support.v7.widget.SwitchCompat/>

我在这里做错了什么?任何建议或解决方案将是最受欢迎的。当我尝试覆盖特定活动中的基本主题并尝试访问SwitchCompat小部件时,会发生此问题。我的项目已经非常大,我可以更改整个应用程序的基本主题,因为我将不得不对ActionBars和其他视图进行更改。怎么解决这个问题?

1 个答案:

答案 0 :(得分:10)

只需在AndroidManifest.xml中使用您的自定义主题

即可
<activity
    android:name=".SignupActivity"
    android:label="@string/title_activity_signup"
    android:theme="@style/SignupTheme">
</activity>