Wiem, jak zastosować motyw do całej aplikacji, ale gdzie powinienem zastosować motyw tylko do pojedynczego działania?
Odpowiedzi:
Można zastosować motyw do każdej działalności, włączając android:themewnętrze <activity>wewnątrz pliku manifestu.
Na przykład:
<activity android:theme="@android:style/Theme.Dialog"><activity android:theme="@style/CustomTheme">A jeśli chcesz ustawić motyw programowo, użyj setTheme()przed wywołaniem setContentView()i super.onCreate()metody wewnątrz onCreate()metody.
tools:context= ".YourAtivityName"w katalogu głównym
Aby ustawić go programowo w 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);
Aby ustawić w zakresie aplikacji w pliku Manifest.xml (wszystkie działania):
<application
android:theme="@android:style/Theme.Holo"
android:theme="@style/MyTheme">
Aby ustawić zakres działania w pliku Manifest.xml (pojedyncze działanie):
<activity
android:theme="@android:style/Theme.Holo"
android:theme="@style/MyTheme">
Aby zbudować własny motyw, będziesz musiał zadeklarować motyw w pliku themes.xml i ustawić style w pliku styles.xml.
android:themeatrybuty?
android:theme="@android:style/Theme.Holo"to składnia dodawania wbudowanego motywu Androida. android:theme="@style/MyTheme"to składnia dodawania motywu niestandardowego opisanego w styles.xmlpliku. W swoim rzeczywistym AndroidManifest.xmlpliku użyjesz tylko jednej lub drugiej dla każdej sekcji, a nie obu.
styles.xmla następnie użyj składni android:theme=@style/MyBlankTheme.