Подтвердить что ты не робот

Применить тему к активности на Android?

Я знаю, как применить тему к целому приложению, но куда я могу применить тему только к одному действию?

4b9b3361

Ответ 1

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

Например:

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

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

Ответ 2

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

Чтобы создать пользовательскую тему, вам придется объявить тему в theme.xml и установить стили в файле styles.xml.

Ответ 3

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

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