ฉันรู้วิธีใช้ธีมกับแอปพลิเคชันทั้งหมด แต่ฉันจะไปใช้ธีมกับกิจกรรมเดียวได้อย่างไร
ฉันรู้วิธีใช้ธีมกับแอปพลิเคชันทั้งหมด แต่ฉันจะไปใช้ธีมกับกิจกรรมเดียวได้อย่างไร
คำตอบ:
คุณสามารถใช้ธีมกับกิจกรรมใด ๆ โดยรวมandroid:themeไว้<activity>ในไฟล์รายการ
ตัวอย่างเช่น:
<activity android:theme="@android:style/Theme.Dialog"><activity android:theme="@style/CustomTheme">และถ้าคุณต้องการตั้งค่าธีมโดยทางโปรแกรมให้ใช้setTheme()ก่อนการโทรsetContentView()และsuper.onCreate()วิธีการภายในonCreate()วิธี
tools:context= ".YourAtivityName"ในรูท
ในการตั้งค่าโดยใช้โปรแกรมใน 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);
ในการตั้งค่าในขอบเขตการใช้งานใน Manifest.xml (กิจกรรมทั้งหมด):
<application
android:theme="@android:style/Theme.Holo"
android:theme="@style/MyTheme">
ในการตั้งค่าในขอบเขตกิจกรรมใน Manifest.xml (กิจกรรมเดียว):
<activity
android:theme="@android:style/Theme.Holo"
android:theme="@style/MyTheme">
ในการสร้างธีมที่กำหนดเองคุณจะต้องประกาศธีมในไฟล์ themes.xml และตั้งค่าสไตล์ในไฟล์ styles.xml
android:themeคุณลักษณะสองอย่าง
android:theme="@android:style/Theme.Holo"เป็นไวยากรณ์สำหรับการเพิ่มธีมในตัวของ Android android:theme="@style/MyTheme"คือไวยากรณ์สำหรับการเพิ่มธีมแบบกำหนดเองที่อธิบายไว้ในstyles.xmlไฟล์ของคุณ ในAndroidManifest.xmlไฟล์จริงของคุณคุณจะใช้เพียงไฟล์เดียวสำหรับแต่ละส่วนไม่ใช่ทั้งสองอย่าง
styles.xml android:theme=@style/MyBlankTheme
ก่อนที่คุณจะโทรโทรsetContentView()หาsetTheme(android.R.style...)และแทนที่ ... ด้วยธีมที่คุณต้องการ (ธีม, Theme_NoTitleBar ฯลฯ )
หรือถ้าธีมของคุณเป็นธีมที่กำหนดเองให้แทนที่สิ่งทั้งหมดเพื่อให้คุณได้รับ setTheme(yourThemesResouceId)