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

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

30
ชื่อศูนย์กลางของแถบเครื่องมือ Android และแบบอักษรที่กำหนดเอง
ฉันกำลังพยายามหาวิธีที่ถูกต้องในการใช้แบบอักษรที่กำหนดเองสำหรับชื่อแถบเครื่องมือและจัดกึ่งกลางไว้ในแถบเครื่องมือ (ความต้องการของลูกค้า) ในขณะนี้ฉันกำลังใช้ ActionBar แบบเก่าที่ดีและฉันกำลังตั้งชื่อให้เป็นค่าว่างและใช้setCustomViewในการใส่แบบอักษรที่กำหนดเองของฉัน TextView และจัดกึ่งกลางโดยใช้ ActionBar.LayoutParams มีวิธีที่ดีกว่าในการทำเช่นนั้น? ใช้แถบเครื่องมือใหม่เป็น ActionBar ของฉัน

30
ไม่สามารถหา Theme.AppCompat.Light สำหรับ Android ActionBar ใหม่ที่สนับสนุน
ฉันกำลังพยายามใช้ห้องสมุดสนับสนุนActionBarใหม่ที่เผยแพร่โดย Google เมื่อสองสามวันก่อน ก่อนหน้านี้ฉันได้ติดตั้ง ActionBarSherlock เรียบร้อยแล้วโดยไม่มีปัญหาใด ๆ โดยใช้วิธีการเดียวกับที่ระบุไว้ในหน้าการตั้งค่าห้องสมุดสนับสนุนของ Google Developer - โดยใช้คำแนะนำในการรวมทรัพยากร (ซึ่งคล้ายกับที่ ActionBarSherlock ทำ) ฉันมีโครงการห้องสมุดโหลดเข้าสู่โครงการของฉันเองในฐานะห้องสมุดเช่นกัน ฉันสามารถบอกได้ว่าห้องสมุดกำลังโหลดได้ดี เมื่อแทนที่จะขยายกิจกรรมใน MainActivity.java ของฉันฉันเปลี่ยนมันเพื่อขยาย ActionBarActivity (ตามคำแนะนำของ Google) ไม่มีข้อผิดพลาดเกิดขึ้นและนำเข้าอย่างถูกต้อง ฉันได้ลองข้ามไฟล์ style.xml และเพิ่ม@style/Theme.AppCompat.Lightโดยตรงไปยัง AndroidManifest.xml สำหรับทั้งคู่<application>และ<activity>ด้วยandroid:theme="@style/ThemeAppCompat.Light"ความพยายามทั้งหมดทำให้เกิดข้อผิดพลาดเดียวกัน ตอนนี้ปัญหาคือฉันไม่สามารถเปลี่ยนธีมได้แม้แต่คนเดียวก็สร้างได้โดยไม่เกิดข้อผิดพลาด ด้านล่างเป็นข้อผิดพลาดที่ฉันได้รับตามด้วยไฟล์ style.xml ที่ฉันเปลี่ยนเพื่อใช้ธีมใหม่ ฉันมีประสบการณ์ปานกลางในการทำงานกับแอพ Android และกำลังใช้งาน Eclipse กับเวอร์ชันล่าสุดของ Support Libraries และ SDK ที่คอมไพล์ด้วย API 18 (Android 4.3) ได้รับข้อผิดพลาดระหว่างการสร้าง ข้อผิดพลาด: เกิดข้อผิดพลาดในการดึงข้อมูลพาเรนต์สำหรับรายการ: …

16
ธีมแบบเต็มหน้าจอสำหรับ AppCompat
ฉันต้องการทราบว่าฉันจะใช้ชุดรูปแบบเต็มหน้าจอ (ไม่มีแถบหัวเรื่อง + ไม่มีแถบเครื่องมือ) กับกิจกรรมได้อย่างไร ฉันใช้ไลบรารี AppCompat จากแพ็คเกจสนับสนุน v7 ฉันพยายามนำไปใช้android:theme="@android:style/Theme.NoTitleBar.Fullscreen"กับกิจกรรมเฉพาะของฉัน แต่มันล้มเหลว ฉันคิดว่าเป็นเพราะธีมแอปพลิเคชันของฉันเป็นเช่นนี้ <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> ฉันได้ลองสิ่งนี้แล้ว getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); ซึ่งจะซ่อนแถบชื่อเท่านั้น แต่ไม่ใช่แถบแอ็คชัน วิธีแก้ปัญหาปัจจุบันของฉันคือการซ่อนแถบแอ็คชั่น getSupportActionBar().hide();

20
ฉันจะเปลี่ยนสีพื้นหลังของ ActionBar ของ ActionBarActivity โดยใช้ XML ได้อย่างไร
รายละเอียด: ฉันกำลังขยาย ActionBarActivity Eclipse และ SDK ได้รับการปะแก้อย่างสมบูรณ์ตั้งแต่ 2011-11-06 <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="14" /> ปรับใช้กับอุปกรณ์ Samsung ที่ใช้ Android 2.3.3 พพลิเคชั่นได้android:theme="@android:style/Theme.Light" ปัญหา:แอปพลิเคชันมีน้ำหนักเบา แต่ ActionBar เป็นสีน้ำเงินพร้อมไอคอนสีเทาซึ่งมองเห็นได้ยากเมื่อเทียบกับสีพื้นหลังสีน้ำเงิน ฉันยังต้องการให้แถบเครื่องมือ ActionBar สว่างขึ้นเพื่อให้ไอคอนสีเทาปรากฏชัดเจนยิ่งขึ้น ฉันได้ลองปรับเปลี่ยนสไตล์ แต่ก็ไม่มีประโยชน์ ฉันอาจจะพลาดอะไรซักอย่าง ฉันจะเปลี่ยนสีพื้นหลังของ ActionBar ของ ActionBarActivity โดยใช้ XML ได้อย่างไร

4
ฉันจะวางสไตล์สวิตช์ Android ได้อย่างไร
วิดเจ็ตสวิตช์ที่นำมาใช้ใน API 14 มีสไตล์โดยค่าเริ่มต้นด้วยธีม holo ฉันต้องการจัดสไตล์ให้แตกต่างกันเล็กน้อยเปลี่ยนสีและรูปร่างเล็กน้อยด้วยเหตุผลด้านการสร้างแบรนด์ จะไปเกี่ยวกับเรื่องนี้ได้อย่างไร? ฉันรู้ว่ามันต้องเป็นไปได้อย่างที่ฉันเห็นความแตกต่างระหว่าง ICS เริ่มต้นและธีม touchwiz ของ Samsung ฉันคิดว่าฉันต้องการที่จะดึงสถานะบางอย่างและฉันได้เห็นรูปแบบบางอย่างในhttp://developer.android.com/reference/android/R.styleable.htmlด้วย Switch_thumb และ Switch_track ที่ดูเหมือนว่าฉันจะเป็นอย่างไร . ฉันไม่รู้ว่าจะใช้มันอย่างไร ฉันใช้ ActionbarSherlock ถ้ามันสร้างความแตกต่าง เฉพาะอุปกรณ์ที่ใช้ API v14 ขึ้นไปเท่านั้นที่จะสามารถใช้สวิตช์ได้ทั้งหมด

12
ตั้งค่าธีมสำหรับ Fragment
ฉันกำลังพยายามตั้งค่าธีมสำหรับส่วนย่อย การตั้งค่าธีมในรายการไม่ทำงาน: android:theme="@android:style/Theme.Holo.Light" จากการดูบล็อกก่อนหน้านี้ดูเหมือนว่าฉันต้องใช้ ContextThemeWrapper มีใครแนะนำตัวอย่างโค้ดให้ฉันได้ไหม ฉันไม่พบอะไรเลย

16
วิธีตั้งค่าข้อความแถบเครื่องมือและสีลูกศรย้อนกลับ
พื้นหลังของแถบเครื่องมือเป็นสีเข้มฉันต้องการให้ข้อความและลูกศรย้อนกลับเป็นสีขาว ฉันพยายามติดตาม แต่มันไม่ได้ผล <style name="Theme.MyTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/blue</item> <item name="colorPrimaryDark">@color/blue_darker</item> <item name="colorAccent">@color/purple</item> <!-- item name="android:textColorPrimary">@color/white</item--> // I don't want to set this, changes everywhere. <item name="android:textColorSecondary">@color/white</item> <item name="android:toolbarStyle">@style/AppTheme.ToolbarStyle</item> <item name="toolbarStyle">@style/AppTheme.ToolbarStyle</item> <item name="drawerArrowStyle">@style/AppTheme.DrawerArrowStyle</item> </style> <style name="AppTheme.ToolbarStyle" parent="Base.Widget.AppCompat.Toolbar"> <!--<item name="actionOverflowButtonStyle">@style/AppTheme.OverflowButtonStyle</item>--> <item name="android:textColor">@color/white</item> // doesn't work <item name="titleTextAppearance">@style/TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse</item> <item name="android:titleTextAppearance">@style/TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse</item> <item name="subtitleTextAppearance">@style/TextAppearance.Widget.AppCompat.Toolbar.Subtitle</item> </style>

7
รับค่าสีทางโปรแกรมเมื่อเป็นข้อมูลอ้างอิง (ธีม)
พิจารณาสิ่งนี้: styles.xml <style name="BlueTheme" parent="@android:style/Theme.Black.NoTitleBar"> <item name="theme_color">@color/theme_color_blue</item> </style> attrs.xml <attr name="theme_color" format="reference" /> color.xml <color name="theme_color_blue">#ff0071d3</color> ดังนั้นสีของชุดรูปแบบจะถูกอ้างอิงโดยธีม ฉันจะรับ theme_color (การอ้างอิง) แบบเป็นโปรแกรมได้อย่างไร ปกติฉันจะใช้getResources().getColor()แต่ไม่ใช่ในกรณีนี้เพราะอ้างอิง!

2
เมื่อใดควรใช้ Theme.AppCompat กับ ThemeOverlay.AppCompat
มีคลาส Theme.AppCompat ดังต่อไปนี้: Theme.AppCompat Theme.AppCompat.Light Theme.AppCompat.Light.DarkActionBar Theme.AppCompat.NoActionBar Theme.AppCompat.Light.NoActionBar Theme.AppCompat.DialogWhenLarge Theme.AppCompat.Light.DialogWhenLarge Theme.AppCompat.Dialog Theme.AppCompat.Light.Dialog Theme.AppCompat.CompactMenu และคลาส ThemeOverlay.AppCompat ต่อไปนี้: ThemeOverlay.AppCompat ThemeOverlay.AppCompat.Light ThemeOverlay.AppCompat.Dark ThemeOverlay.AppCompat.ActionBar ThemeOverlay.AppCompat.Dark.ActionBar เหตุใดจึงต้องใช้ ThemeOverlay.AppCompat.light กับ Theme.AppCompat.Light ฉันเห็นว่ามีแอตทริบิวต์ที่กำหนดไว้สำหรับ ThemeOverlay น้อยกว่ามาก - ฉันอยากรู้ว่ากรณีการใช้งานที่ตั้งใจไว้สำหรับ ThemeOverlay คืออะไร

4
จะตั้งธีม holo dark ในแอพ Android ได้อย่างไร?
ฉันจะตั้งค่าธีมโฮโลมืดในแอพของฉันได้อย่างไร? ในเวลานี้ฉันได้รับสิ่งนี้: <style name="AppTheme" parent="android:Theme.Holo.Light" /> แต่เมื่อฉันเปลี่ยนเป็น: <style name="AppTheme" parent="android:Theme.Holo.Dark" /> ฉันได้รับข้อผิดพลาด error: Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Holo.Dark'. จะแก้ปัญหาอย่างไร?

1
ใช้เนมสเปซของแอพอย่างมีสไตล์
ฉันจะยกตัวอย่างเพื่อแสดงให้เห็นถึงจุดที่ยิ่งใหญ่กว่า ลองนึกภาพแอปของฉันมี FloatingActionButtons จำนวนหนึ่ง ดังนั้นฉันต้องการสร้างสไตล์เดียวและใช้ซ้ำ ดังนั้นฉันจึงทำสิ่งต่อไปนี้: <style name="FabStyle” parent ="Widget.Design.FloatingActionButton"> <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> <item name="android:layout_margin">16dp</item> <item name="app:backgroundTint">@color/accent</item> <item name="app:layout_anchorGravity">end|bottom</item> </style> ปัญหาที่ฉันพบคือรหัสไม่ได้รวบรวมเนื่องจากมีการบ่นเกี่ยวกับ Error:(40, 5) No resource found that matches the given name: attr 'app:backgroundTint'. ฉันพยายามนำเนมสเปซเข้ามาผ่านresourcesแท็ก แต่ใช้งานไม่ได้ <resources xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android" > มีความคิดอย่างไรที่ฉันจะทำให้สิ่งนี้ได้ผล

7
ฉันจะสไตล์ appcompat-v7 Toolbar เช่น Theme.AppCompat.Light.DarkActionBar ได้อย่างไร
ฉันพยายามสร้างรูปลักษณ์Theme.AppCompat.Light.DarkActionBarใหม่ด้วยแถบเครื่องมือไลบรารีสนับสนุนใหม่ ถ้าฉันเลือกTheme.AppCompat.Lightแถบเครื่องมือของฉันจะสว่างและถ้าฉันเลือกTheme.AppCompatมันจะมืด (ในทางเทคนิคคุณต้องใช้.NoActionBarเวอร์ชัน แต่เท่าที่ฉันสามารถบอกได้ข้อแตกต่างเพียงอย่างเดียวคือ <style name="Theme.AppCompat.NoActionBar"> <item name="windowActionBar">false</item> <item name="android:windowNoTitle">true</item> </style> ตอนนี้ไม่มีTheme.AppCompat.Light.DarkActionBarแต่ไร้เดียงสาฉันคิดว่ามันดีพอที่จะทำด้วยตัวเอง <style name="Theme.AppCompat.Light.DarkActionBar.NoActionBar"> <item name="windowActionBar">false</item> <item name="android:windowNoTitle">true</item> </style> อย่างไรก็ตามแถบเครื่องมือของฉันยังคงเป็นLightธีม ตอนนี้ฉันใช้เวลาหลายชั่วโมงในการลองใช้ชุดค่าผสมที่แตกต่างกันในการผสมธีมมืด (ฐาน) และธีมแสง แต่ฉันไม่พบชุดค่าผสมที่จะทำให้ฉันมีพื้นหลังที่สว่างในทุกสิ่งยกเว้นแถบเครื่องมือ มีวิธีการAppCompat.Light.DarkActionBarดูด้วยการนำเข้าandroid.support.v7.widget.Toolbarหรือไม่?

3
การตั้งค่าสีพื้นหลังของธีม Android
ฉันกำลังพยายามแก้ไขสีธีมพื้นหลังเริ่มต้นซึ่งน่าจะง่าย แต่น่าแปลกที่ฉันไม่สามารถใช้งานได้ โปรดทราบว่าฉันต้องการให้การเปลี่ยนแปลงเกิดขึ้นทั่วทั้งแอปไม่ใช่เฉพาะกิจกรรมเดียว นี่คือรหัสของฉัน: styles.xml <resources> <color name="white_opaque">#FFFFFFFF</color> <color name="pitch_black">#FF000000</color> <style name="AppTheme" parent="android:Theme.Light"> <item name="android:background">@color/white_opaque</item> <item name="android:windowBackground">@color/white_opaque</item> <item name="android:colorBackground">@color/white_opaque</item> </style> </resources> และแน่นอนในรายการ <application . . . android:theme="@style/AppTheme" > </application> เอกสาร Android ที่ฉันได้ปรึกษาเกี่ยวกับการปรับเปลี่ยนธีม: http://developer.android.com/guide/topics/ui/themes.html ฉันได้ลองสลับระหว่าง white_opaque และ pitch_black สำหรับแอตทริบิวต์ xml ทั้งหมด แต่ก็ไม่เปลี่ยนแปลงอะไรเลย ข้อเสนอแนะใด ๆ ?

24
วิธีซ่อนแถบสถานะใน Android
ฉันอ้างถึงลิงก์นี้ ในกรณีนี้หากผู้ใช้คลิกที่ EditText (เช่น To:) ในขณะนั้นแป้นพิมพ์จะปรากฏขึ้นและในเวลาเดียวกันผู้ใช้สามารถเลื่อนเพื่อดูมุมมองที่เหลือทั้งหมดได้ (เช่น: เขียน, หัวเรื่อง, ปุ่มส่ง) ใน หน้าจอนั้น ในแอปของฉันฉันมีกิจกรรมหนึ่งที่ฉันมีวิดเจ็ตหรือมุมมองบางอย่าง สมมติว่าหากผู้ใช้คลิกแก้ไขข้อความซึ่งอยู่ในกิจกรรมของฉันจากนั้นแป้นพิมพ์จะโผล่ขึ้นมาและฉันสามารถเลื่อนเพื่อดูมุมมองที่เหลือได้ แต่ถ้าฉันให้แอตทริบิวต์นี้android:theme="@android:style/Theme.NoTitleBar.Fullscreen"ในไฟล์ Manifest ฉันไม่สามารถเลื่อนเพื่อดูมุมมองที่เหลือได้ แต่ถ้าให้แอตทริบิวต์android:theme="@android:style/Theme.NoTitleBar"เช่นนี้ในรายการฉันสามารถเลื่อนเพื่อดูมุมมองที่เหลือได้ แต่มีแถบสถานะในหน้าจอนั้นฉันต้องการเต็มหน้าจอที่นี่และแม้ว่าแป้นพิมพ์จะโผล่ออกมาฉันก็สามารถเลื่อนเพื่อดูมุมมองที่เหลือได้ .. ? ฉันต้องเปลี่ยนแปลงอะไรบ้างสำหรับสิ่งนี้ .. ?

18
วิธีจัดตำแหน่งชื่อ ActionBar ให้อยู่กึ่งกลางใน Android
ฉันกำลังพยายามใช้รหัสต่อไปนี้เพื่อจัดข้อความให้อยู่กึ่งกลางActionBarแต่มันจัดแนวไปทางซ้าย คุณจะทำให้มันปรากฏในศูนย์ได้อย่างไร? ActionBar actionBar = getActionBar(); actionBar.setDisplayShowTitleEnabled(true); actionBar.setTitle("Canteen Home"); actionBar.setHomeButtonEnabled(true); actionBar.setIcon(R.drawable.back);

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.