คำถามติดแท็ก android-theme

ธีมคือสไตล์ที่ใช้กับแอปพลิเคชันหรือกิจกรรม Android ทั้งหมดแทนที่จะเป็นมุมมองเดี่ยว เมื่อใช้สไตล์เป็นธีมทุกมุมมองในกิจกรรมหรือแอปพลิเคชันจะใช้คุณสมบัติสไตล์แต่ละรายการที่สนับสนุน

5
จะอ้างอิงแอตทริบิวต์สไตล์จาก drawable ได้อย่างไร?
ฉันต้องการมี 2 ธีมที่เลือกได้สำหรับแอปพลิเคชันของฉัน ในการทำเช่นนั้นฉันได้กำหนดคุณลักษณะบางอย่างดังนี้: <attr format="color" name="item_background" /> จากนั้นฉันสร้างทั้งสองธีมดังนี้: <style name="ThemeA"> <item name="item_background">#123456</item> </style> <style name="ThemeB"> <item name="item_background">#ABCDEF</item> </style> วิธีนี้ใช้ได้ผลดีทำให้ฉันสร้างและปรับเปลี่ยนธีมต่างๆได้อย่างง่ายดาย ปัญหาคือว่าดูเหมือนว่ามันสามารถนำมาใช้เฉพาะในการเข้าชมและไม่อยู่ใน Drawables ตัวอย่างเช่นการอ้างอิงค่าจากมุมมองภายในเค้าโครงใช้งานได้: <TextView android:background="?item_background" /> แต่การทำเช่นเดียวกันใน Drawable ไม่ได้: <shape android:shape="rectangle"> <solid android:color="?item_background" /> </shape> ฉันได้รับข้อผิดพลาดนี้เมื่อเรียกใช้แอปพลิเคชัน: java.lang.UnsupportedOperationException: Can't convert to color: type=0x2 ถ้า?item_backgroundฉันใช้สีฮาร์ดโค้ดแทนมันก็ใช้ได้ แต่ไม่อนุญาตให้ฉันใช้ธีมของฉัน ฉันก็พยายาม?attr:item_backgroundเหมือนกัน แต่สิ่งเดียวกันก็เกิดขึ้น ฉันจะทำสิ่งนี้ได้อย่างไร? และเหตุใดจึงทำงานใน Views แต่ใช้ไม่ได้ใน …

13
UnsupportedOperationException: ไม่สามารถแปลงเป็นขนาด: type = 0x1
ใน Android ฉันได้รับข้อผิดพลาดต่อไปนี้ในโปรแกรมจำลองและอุปกรณ์มือถือบางเครื่องแต่ไม่มีในแท็บเล็ต : ฉันไม่เข้าใจว่าอะไรคือข้อผิดพลาดจริงๆ? ฉันค้นหาบทเรียนมากมาย แต่ไม่พบวิธีแก้ปัญหาใด ๆ โปรดช่วยฉันแก้ปัญหานี้ หมายเหตุ: ในแอปพลิเคชันนี้ฉันใช้ActionbarSherlockและธีมแล้วฉันอาจได้รับเนื่องจากไลบรารีนั้นหรือปัญหาอื่น ๆ หรือไม่? บันทึกข้อผิดพลาดของฉันคือ: 09-11 17:52:57.342: E/AndroidRuntime(9935): FATAL EXCEPTION: main 09-11 17:52:57.342: E/AndroidRuntime(9935): android.view.InflateException: Binary XML file line #2: Error inflating class <unknown> 09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.LayoutInflater.createView(LayoutInflater.java:613) 09-11 17:52:57.342: E/AndroidRuntime(9935): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660) 09-11 17:52:57.342: …

6
ใครสามารถอธิบาย attr?
ฉันกำลังดูโค้ดตัวอย่างของ Honeycomb Gallery ( ที่นี่ ) และฉันพบโค้ดต่อไปนี้ในขณะที่พยายามเพิ่มรายการการทำงานในแอปของฉันเอง: <item android:id="@+id/camera" android:title="Camera" android:icon="?attr/menuIconCamera" android:showAsAction="ifRoom" /> ?attrมีการขว้างปาฉันห่วง ใครช่วยอธิบายหน่อยได้ไหมว่ากำลังทำอะไรอยู่ สิ่งนี้เกี่ยวข้องกับสิ่งที่เบิกได้อย่างไร? ฉันไม่พบข้อมูลที่ดีใน Google นอกจากนี้ยังมีรายการหรือแกลเลอรีแอตทริบิวต์ที่เราสามารถใช้สำหรับไอคอนแทนเพียงแค่menuIconCamera? ขอบคุณ แก้ไข: ฉันมองไปรอบ ๆ และพบว่า attrs.xml มีลักษณะดังนี้: <resources> <declare-styleable name="AppTheme"> <attr name="listDragShadowBackground" format="reference" /> <attr name="menuIconCamera" format="reference" /> <attr name="menuIconToggle" format="reference" /> <attr name="menuIconShare" format="reference" /> </declare-styleable> น่าเสียดายที่มันทำให้ฉันสับสนมากขึ้น นี่มันกำลังทำอะไร?

2
วิธีการ: กำหนดธีม (สไตล์) รายการสำหรับวิดเจ็ตที่กำหนดเอง
ฉันได้เขียนวิดเจ็ตที่กำหนดเองสำหรับการควบคุมที่เราใช้กันอย่างแพร่หลายในแอปพลิเคชันของเรา คลาสวิดเจ็ตมาจากImageButtonและขยายมันด้วยวิธีง่ายๆสองสามวิธี ฉันได้กำหนดรูปแบบที่สามารถใช้กับวิดเจ็ตได้ตามที่ใช้ แต่ฉันต้องการตั้งค่าผ่านธีม ในR.styleableฉันเห็นคุณลักษณะสไตล์วิดเจ็ตเช่นimageButtonStyleและtextViewStyle. มีวิธีใดบ้างในการสร้างวิดเจ็ตแบบกำหนดเองที่ฉันเขียน?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.