2013-10-01 4 views

ответ

120

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

Например:

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

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

+1

Как насчет отключения темы? на одном мероприятии –

+0

@Yousha Aleayoub: вы пытались просто установить другую тему? – Yannick

+0

Нет, но я просто хочу отключить/удалить тему и сделать ее основной ... :) –

8

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

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

23

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

+1

Как насчет отключения темы? по одному действию –

+2

Почему вы добавили два атрибута 'android: theme'? –

+0

@Vineet Kaushik, 'android: theme =" @ android: style/Theme.Holo "- это синтаксис для добавления встроенной темы для Android. 'android: theme =" @ style/MyTheme "- это синтаксис добавления пользовательской темы, описанной в файле' styles.xml'. В вашем фактическом файле 'AndroidManifest.xml' вы использовали бы только один или другой для каждого раздела, а не оба. –

Смежные вопросы