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