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