ユーザーが選択したテーマを取得しようとしていますが、イライラして近づいているように感じます。でテーマを定義することは正常にAndroidManifest.xml
機能しますが、(私が知る限り)アプリの設定に基づいて変更することはできません。
<application
android:theme="@style/theme_sunshine"
android:icon="@drawable/icon"
android:label="@string/app_name">
または、各アクティビティで動的に設定することもできます。
someChosenTheme = PreferenceManager.getDefaultSharedPreferences(this).getString("themePreference", "theme_twilight");
setTheme(someOtherChosenTheme);
しかし、それは面倒なようで、アプリ全体のテーマを1か所に設定したいと思います。私の最初の考えは、メインのアクティビティが起動したらすぐにアプリケーションコンテキストを取得し、そこで実行することでした。
getApplicationContext().setTheme(R.style.theme_dummy);
私が知る限り、これでうまくいくはずですが、実際には何もしていません。アプリ全体がデフォルトのAndroidスタイルになっています。上記は有効ですか?もしそうなら、私は何か他の愚かなことをしている可能性がありますか?
それが重要な場合、私はAPIレベル3で作業しています。正しい方向への製品は大歓迎です!