gpt4 book ai didi

android - 如何在主要 Activity api 7 中设置主题?

转载 作者:行者123 更新时间:2023-11-30 03:45:23 25 4
gpt4 key购买 nike

我为用户提供浅色和深色主题选项。

日志中的错误:

Caused by: java.lang.IllegalStateException: You must use Theme.Sherlock, Theme.Sherlock.Light, Theme.Sherlock.Light.DarkActionBar, or a derivative.

错误发生在MainActivity中的setContentView(R.layout.activity_main);

主要 Activity

public class MainActivity extends SherlockFragmentActivity {.....public static int globalTheme;
Context context;
protected void onCreate(Bundle savedInstanceState) {


context = getApplicationContext();
mySharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);

Editor editor = mySharedPreferences.edit();
editor.putBoolean("proxy", false);
editor.commit();

if (mySharedPreferences.getString(Preferences.PREF_THEME, "1").trim().equals("1"))
globalTheme = R.style.Sherlock___Theme;
else
globalTheme = R.style.Sherlock___Theme_Light;
setTheme(globalTheme);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

我没有在 list 中添加任何东西,因为主题应该动态更改AndroidManifest.xml

<uses-sdk android:minSdkVersion="7"
/>

<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:name="com.belasheuski.activities.MyApplication"
>
<activity
android:name="com.belasheuski.activities.MainActivity"
android:label="@string/name_main"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

此错误发生在 API 7 上。在 API 15 上一切正常。

最佳答案

我是这样设置的...

 setTheme(isLightTheme ? R.style.MyApp_Light : R.style.MyApp);

样式定义看起来像...

 <style name="MyApp.Light" parent="@style/Theme.Sherlock.Light.ForceOverflow">
<item name="overlayedActionBarBackground">@color/overlayedActionBarLight</item>

...
</style>

<style name="MyApp" parent="@style/Theme.Sherlock.ForceOverflow">
<item name="overlayedActionBarBackground">@color/overlayedActionBarDark</item>

...
</style>

效果很好。所以我认为你从 ABS 中获取了错误的样式定义。

干杯!

关于android - 如何在主要 Activity api 7 中设置主题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15098103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com