アプリケーション全体にテーマを適用する方法を知っていますが、1つのアクティビティだけにテーマを適用するにはどこに行きますか?
回答:
あなたは含めることにより、任意のアクティビティにテーマを適用することができますandroid:theme
内部を<activity>
マニフェストファイル内。
例えば:
<activity android:theme="@android:style/Theme.Dialog">
<activity android:theme="@style/CustomTheme">
また、プログラムでテーマを設定する場合は、メソッド内のメソッドをsetTheme()
呼び出す前に使用します。setContentView()
super.onCreate()
onCreate()
tools:context= ".YourAtivityName"
ルートでのアクティビティxmlの使用
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
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ファイルでスタイルを設定する必要があります。
android:theme
属性を追加したのですか?
android:theme="@android:style/Theme.Holo"
は、Androidの組み込みテーマを追加するための構文です。 ファイルにandroid:theme="@style/MyTheme"
記述されているカスタムテーマを追加するための構文styles.xml
です。実際のAndroidManifest.xml
ファイルでは、セクションごとにどちらか一方のみを使用し、両方は使用しません。
styles.xml
から、構文を使用しますandroid:theme=@style/MyBlankTheme
。