Применить тему к деятельности в Android?


Я знаю, как применить тему ко всему приложению, но куда бы я пошел, чтобы применить тему только к одному виду деятельности?

3 65

3 ответа:

вы можете применить тему к любой деятельности, включая android:theme внутри <activity> внутри файла манифеста.

например:

  1. <activity android:theme="@android:style/Theme.Dialog">
  2. <activity android:theme="@style/CustomTheme">

и если вы хотите установить тему программно, то используйте setTheme() перед вызовом setContentView() и super.onCreate() внутри onCreate() метод.

чтобы установить его программно в 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);

для установки в области приложения в Манифесте.xml (все действия):

 <application
    android:theme="@android:style/Theme.Holo"
    android:theme="@style/MyTheme">

чтобы установить область действия в Манифесте.xml (одно действие):

  <activity
    android:theme="@android:style/Theme.Holo"
    android:theme="@style/MyTheme">

чтобы создать пользовательскую тему, вам нужно будет объявить тему в тематика.xml-файл и набор стилей в стилях.XML-файл.

прежде чем вы позвоните setContentView(), называют setTheme(android.R.style...) и просто заменить ... с той темой, которую вы хотите(тема, Theme_NoTitleBar и т. д.).

или если ваша тема является пользовательской темой, а затем заменить все это, так что вы получите setTheme(yourThemesResouceId)