Я знаю, как применить тему ко всему приложению, но куда мне пойти, чтобы применить тему только к одному действию?
Ответы:
Вы можете применить тему к любому действию, включив ее 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.