Я знаю, як застосувати тему до цілої програми, але куди б я звернувся, щоб застосувати тему лише до одного заходу?
Відповіді:
Ви можете застосувати тему до будь-якої діяльності, включивши 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
.