Saya tahu cara menerapkan tema ke seluruh aplikasi, tetapi ke mana saya akan pergi untuk menerapkan tema hanya ke satu aktivitas?
Jawaban:
Anda dapat menerapkan tema ke aktivitas apa pun dengan memasukkan android:theme
di dalamnya<activity>
dalam file manifes.
Sebagai contoh:
<activity android:theme="@android:style/Theme.Dialog">
<activity android:theme="@style/CustomTheme">
Dan jika Anda ingin mengatur tema secara programatik maka gunakan setTheme()
sebelum memanggil setContentView()
dan super.onCreate()
metode di dalam onCreate()
metode.
tools:context= ".YourAtivityName"
di root
Untuk mengaturnya secara terprogram di 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);
Untuk menyetel dalam lingkup Aplikasi di Manifest.xml (semua aktivitas):
<application
android:theme="@android:style/Theme.Holo"
android:theme="@style/MyTheme">
Untuk menyetel dalam lingkup Aktivitas di Manifest.xml (aktivitas tunggal):
<activity
android:theme="@android:style/Theme.Holo"
android:theme="@style/MyTheme">
Untuk membuat tema khusus, Anda harus mendeklarasikan tema dalam file themes.xml, dan menyetel gaya dalam file styles.xml.
android:theme
atribut?
android:theme="@android:style/Theme.Holo"
adalah sintaks untuk menambahkan tema bawaan Android. android:theme="@style/MyTheme"
adalah sintaks untuk menambahkan tema khusus yang dijelaskan dalam styles.xml
file Anda . Dalam AndroidManifest.xml
file Anda yang sebenarnya, Anda hanya akan menggunakan satu atau yang lain untuk setiap bagian, tidak keduanya.
styles.xml
dan gunakan sintaks android:theme=@style/MyBlankTheme
.