Saya tahu cara menerapkan tema ke seluruh aplikasi, tetapi ke mana saya akan pergi untuk menerapkan tema hanya ke satu aktivitas?
86
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 rootUntuk 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.
sumber
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 dalamstyles.xml
file Anda . DalamAndroidManifest.xml
file Anda yang sebenarnya, Anda hanya akan menggunakan satu atau yang lain untuk setiap bagian, tidak keduanya.styles.xml
dan gunakan sintaksandroid:theme=@style/MyBlankTheme
.Sebelum Anda menelepon
setContentView()
, panggilsetTheme(android.R.style...)
dan ganti saja ... dengan tema yang Anda inginkan (Theme, Theme_NoTitleBar, dll.).Atau jika tema Anda adalah tema khusus, maka gantilah semuanya, sehingga Anda mendapatkannya
setTheme(yourThemesResouceId)
sumber