テーマをアプリケーション全体に適用する方法は知っていますが、テーマを単一のアクティビティに適用するにはどこに行きますか?
Android:theme
内に<activity>
をマニフェストファイル内に含めることにより、任意のアクティビティにテーマを適用できます。
例えば:
<activity Android:theme="@Android:style/Theme.Dialog">
<activity Android:theme="@style/CustomTheme">
プログラムでテーマを設定する場合は、setTheme()
メソッド内でsetContentView()
およびsuper.onCreate()
メソッドを呼び出す前に、onCreate()
を使用します。
Activity.Javaでプログラムで設定するには:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTheme(R.style.MyTheme); // (for Custom theme)
setTheme(Android.R.style.Theme_Holo); // (for Android Built In Theme)
this.setContentView(R.layout.myactivity);
Manifest.xmlのApplicationスコープで設定するには(すべてのアクティビティ):
<application
Android:theme="@Android:style/Theme.Holo"
Android:theme="@style/MyTheme">
Manifest.xmlのアクティビティスコープで設定するには(単一のアクティビティ):
<activity
Android:theme="@Android:style/Theme.Holo"
Android:theme="@style/MyTheme">
カスタムテーマを作成するには、themes.xmlファイルでテーマを宣言し、styles.xmlファイルでスタイルを設定する必要があります。
setContentView()
を呼び出す前に、setTheme(Android.R.style...)
を呼び出して、...を目的のテーマ(Theme、Theme_NoTitleBarなど)に置き換えてください。
または、テーマがカスタムテーマの場合は、全体を置き換えて、setTheme(yourThemesResouceId)
を取得します