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:theme
wnę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:theme
atrybuty?
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.xml
pliku. W swoim rzeczywistym AndroidManifest.xml
pliku użyjesz tylko jednej lub drugiej dla każdej sekcji, a nie obu.
styles.xml
a następnie użyj składni android:theme=@style/MyBlankTheme
.