Zastosuj motyw do aktywności w systemie Android?

Wiem, jak zastosować motyw do całej aplikacji, ale gdzie bym poszedł, aby zastosować motyw do tylko jednego działania?

Author: Squonk, 2013-10-02

3 answers

Możesz zastosować motyw do dowolnej aktywności, włączając android:theme do <activity> do pliku manifestu.

Na przykład:

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

I jeśli chcesz ustawić motyw programowo, użyj setTheme() przed wywołaniem metody setContentView() i super.onCreate() wewnątrz metody onCreate().

 132
Author: Paresh Mayani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-01 20:25:58

Aby ustawić go programowo w aktywności.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);

Aby ustawić zakres aplikacji w manifeście.xml (wszystkie działania):

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

Aby ustawić zakres aktywności w manifeście.xml (pojedyncza aktywność):

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

Aby zbudować własny motyw, musisz zadeklarować motyw w tematy.pliku xml i ustaw style w stylach.plik xml.

 29
Author: live-love,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-04 15:21:42

Zanim zadzwonisz setContentView(), zadzwoń setTheme(android.R.style...) i po prostu wymień ... z wybranym motywem (Theme, Theme_NoTitleBar, itp.).

Lub jeśli twój motyw jest niestandardowym motywem, zastąp całość, więc otrzymasz setTheme(yourThemesResouceId)

 8
Author: jcw,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-01 20:21:52