전체 애플리케이션에 테마를 적용하는 방법을 알고 있지만 단일 활동에만 테마를 적용하려면 어디로 가야합니까?
답변:
당신은 포함하여 모든 활동에 테마를 적용 할 수있는 android:theme
내부 <activity>
매니페스트 파일 내부.
예를 들면 :
<activity android:theme="@android:style/Theme.Dialog">
<activity android:theme="@style/CustomTheme">
프로그래밍 방식으로 테마를 설정하려면 setTheme()
호출하기 전에 사용 setContentView()
하고 super.onCreate()
메소드 내부에서 onCreate()
메소드를 사용하십시오.
tools:context= ".YourAtivityName"
루트에
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
.