0

私はアンドロイドアプリケーションを開発しています。ユーザーが実行時にアプリケーションのテーマを変更できるようにする機能を追加したいと考えています。

私は主な活動で次のステートメントを使用しようとしています。

setTheme(android.R.style.Theme_Black);

ただし、ダイアログを黒い背景に白いテキストに変更するだけです。

アクションバーとフラグメントを含むすべてのコンポーネントのテーマを黒に変更するにはどうすればよいですか?

4

3 に答える 3

0

開発者向けドキュメントの「スタイルとテーマ」セクションを読むことをお勧めしますhttp://developer.android.com/guide/topics/ui/themes.html

次のようなものを使用して、マニフェストから多くのテーマを作成できます。

<activity android:theme="@style/android:Theme.Dark">
于 2013-02-19T22:27:18.443 に答える
0

グローバルなランタイムの変更の場合、アプリケーションを拡張してテーマを設定することでうまくいく可能性があります (おそらく、onCreate()このクラスにsetTheme()ContextWrapper.

マニフェストで Application クラスを宣言してください。

<application
        android:name="com.yourpackage.ApplicationClass" >
</application>

ただし、アプリケーションの拡張は通常嫌われてActivityいるため、アクティビティはオブジェクトよりも頻繁に破棄および再作成されるため、テーマごとに設定することをお勧めしApplicationます。から現在のテーマを返す静的メソッドを作成するかもしれませんSharedPreferences

于 2013-02-19T22:24:14.767 に答える
0

すべてを黒くしたい場合は、独自のテーマを作成する必要があることに注意してTheme_Holoください。Theme_Black

于 2013-02-19T22:24:09.343 に答える