Tôi biết cách áp dụng một chủ đề cho toàn bộ ứng dụng, nhưng tôi sẽ đi đâu để áp dụng một chủ đề cho chỉ một hoạt động?
Câu trả lời:
Bạn có thể áp dụng chủ đề cho bất kỳ hoạt động nào bằng cách đưa android:theme
vào <activity>
bên trong tệp kê khai.
Ví dụ:
<activity android:theme="@android:style/Theme.Dialog">
<activity android:theme="@style/CustomTheme">
Và nếu bạn muốn thiết lập chủ đề theo chương trình thì hãy sử dụng setTheme()
trước khi gọi setContentView()
và super.onCreate()
phương thức bên trong onCreate()
phương thức.
tools:context= ".YourAtivityName"
trong thư mục gốc
Để đặt nó theo chương trình trong 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);
Để đặt trong Phạm vi ứng dụng trong Manifest.xml (tất cả các hoạt động):
<application
android:theme="@android:style/Theme.Holo"
android:theme="@style/MyTheme">
Để đặt trong Phạm vi hoạt động trong Manifest.xml (hoạt động đơn lẻ):
<activity
android:theme="@android:style/Theme.Holo"
android:theme="@style/MyTheme">
Để tạo một chủ đề tùy chỉnh, bạn sẽ phải khai báo chủ đề trong tệp themes.xml và đặt kiểu trong tệp styles.xml.
android:theme
thuộc tính?
android:theme="@android:style/Theme.Holo"
là cú pháp để thêm chủ đề cài sẵn trên Android. android:theme="@style/MyTheme"
là cú pháp để thêm chủ đề tùy chỉnh được mô tả trong styles.xml
tệp của bạn . Trong AndroidManifest.xml
tệp thực tế của bạn, bạn sẽ chỉ sử dụng một hoặc cách khác cho mỗi phần, không phải cả hai.
styles.xml
và sau đó sử dụng cú pháp android:theme=@style/MyBlankTheme
.