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

การใช้งาน ActionBar จากคอมโพเนนต์ Android Support Library ที่มี ActionBar สำหรับแอปพลิเคชันที่สร้างขึ้นสำหรับ Android 2.1 (API ระดับ 7) ขึ้นไป

24
แสดงลูกศรย้อนกลับบนแถบเครื่องมือ
ฉันกำลังย้ายจากActionBarไปยังToolbarในแอปพลิเคชันของฉัน แต่ผมไม่ทราบวิธีการแสดงและกิจกรรมชุดคลิกที่ลูกศรย้อนกลับบนเหมือนผมใน ToolbarActionbar ด้วยการโทรฉันActionBar mActionbar.setDisplayHomeAsUpEnabled(true)แต่ไม่มีวิธีการที่คล้ายกันเช่นนี้ มีใครเคยเผชิญกับสถานการณ์นี้บ้างและพบวิธีแก้ปัญหาหรือไม่?

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) ได้รับข้อผิดพลาดระหว่างการสร้าง ข้อผิดพลาด: เกิดข้อผิดพลาดในการดึงข้อมูลพาเรนต์สำหรับรายการ: …

21
Android: ลบระยะขอบซ้ายออกจากเค้าโครงที่กำหนดเองของ actionbar
ฉันกำลังใช้มุมมองแถบแอ็คชั่นที่กำหนดเองและอย่างที่คุณเห็นในภาพหน้าจอด้านล่างจะมีพื้นที่สีเทาว่างเปล่าในแถบแอคชั่น ฉันต้องการลบ ฉันทำอะไรลงไป: ความละเอียด / ค่า-v11 / styles.xml <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light"> <item name="android:actionBarStyle">@style/ActionBarStyle</item> <item name="actionBarStyle">@style/ActionBarStyle</item> </style> ความละเอียด / ค่า / my_custom_actionbar.xml <resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="ActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar.Solid"> <item name="android:height">60dp</item> </style> </resources> ประจักษ์ <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" /> <application android:icon="@drawable/ic_launcher" android:label="@string/AppName" android:theme="@style/AppBaseTheme" > <!-- activities... etc --> </application> กิจกรรมหลัก public void onCreate(Bundle bundle) …

7
ความแตกต่างระหว่าง ActionBarSherlock และความเข้ากันได้ของ ActionBar
ความแตกต่างระหว่างActionBarSherlockและความเข้ากันได้ของ Action Barคืออะไร ไม่กี่วันที่ผ่านมา Google เพิ่งเปิดตัวความเข้ากันได้กับ ActionBar ซึ่งทำให้ฉันสับสนมาก ความเข้ากันได้ของแถบการทำงานนั้นเหมือนกับ ActionBarSherlock และการเข้ารหัสเหมือนกันหรือไม่ ตัวอย่าง: ไอคอนแอพเพื่อนำทาง "up"หรือ ActionBar.Tab รองรับความเข้ากันได้กับ Action Bar หรือไม่

5
ความแตกต่างระหว่าง android-support-v7-appcompat และ android-support-v4
ผมอยากจะทราบความแตกต่างระหว่างหุ่นยนต์สนับสนุน v4.jar และหุ่นยนต์สนับสนุน v7-appcompat.jar ถ้าผมต้องการที่จะเพิ่ม AppCompat แถบการทำงานในใบสมัครของฉันฉันจะต้องเพิ่มทั้งหุ่นยนต์สนับสนุน v7-appcompat.jarและหุ่นยนต์สนับสนุน v4.jarหรือเฉพาะหุ่นยนต์สนับสนุน v7-appcompat.jar นอกจากนี้ยังไม่หุ่นยนต์สนับสนุน v13.jarได้ AppCompat?

17
ไม่พบทรัพยากร - Theme.AppCompat.Light.DarkActionBar
ฉันใช้ ActionBar Style Generator และตอนนี้พยายามใช้กับแอพของฉัน แต่ได้รับ: ข้อผิดพลาด: เกิดข้อผิดพลาดในการดึงข้อมูลพาเรนต์สำหรับรายการ: ไม่พบทรัพยากรที่ตรงกับชื่อที่ระบุ '@ style / Theme.AppCompat.Light.DarkActionBar' ฉันใช้android-support-v7-appcompat.jar lib ภายในโฟลเดอร์ libs เป้าหมายของฉันคือทำให้แอปของฉันใช้ร่วมกันได้ 2.3 ขึ้นไป

11
MenuItemCompat.getActionView จะส่งคืนค่าว่างเสมอ
ฉันเพิ่งติดตั้งv7 AppCompatไลบรารีการสนับสนุน แต่MenuItemCompat.getActionViewผลตอบแทนจะเป็นโมฆะใน Android ทุกรุ่นที่ฉันทดสอบ (4.2.2, 2.3.4 .... ) SearchViewจะแสดงในแถบการทำงาน แต่ก็ไม่ได้ตอบสนองต่อการสัมผัสการกระทำและไม่ขยายเพื่อแสดงตนEditTextและเป็นเช่นเดียวกับไอคอนที่เรียบง่าย @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu, menu); MenuItem searchItem = menu.findItem(R.id.action_search); SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem); if (searchView != null) { SearchViewCompat.setOnQueryTextListener(searchView, mOnQueryTextListener); searchView.setIconifiedByDefault(false); Log.d(TAG,"SearchView not null"); } else Log.d(TAG, "SearchView is null"); } …

12
รายการเมนู Android 4.3 showAsAction = ละเว้น "เสมอ"
ฉันใช้ไลบรารี v7 appcompat ใหม่ที่มีให้ตั้งแต่ Android 4.3 (API ระดับ 18) ไม่ว่าจะระบุไว้ใน showAsAction สำหรับรายการเมนูใดก็ตามจะไม่แสดง - โดยจะสร้างไอคอนเมนูรายการเพิ่มเติมเสมอและใส่แม้แต่รายการเมนูเดียวไว้ใต้เมนู พยายามเพิ่มเมนูในกิจกรรมเช่นนี้: @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_sizes, menu); return true; } และนี่คือเมนู xml ของฉัน: <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/menu_add_size" android:title="@string/menu_add_item" android:orderInCategory="10" android:showAsAction="always" android:icon="@android:drawable/ic_menu_add" /> </menu> มันเป็นบั๊กของไลบรารีการสนับสนุน v7 ใหม่หรือมีอะไรผิดปกติกับโค้ด? ฉันเคยใช้รหัสที่คล้ายกันนี้กับ ActionBarSherlock หลายครั้งก่อนหน้านี้

13
การสร้างหน้าจอการตั้งค่าด้วยการสนับสนุนแถบเครื่องมือ (v21)
ฉันประสบปัญหาในการใช้แถบเครื่องมือดีไซน์ Material ใหม่ในไลบรารีการสนับสนุนบนหน้าจอการตั้งค่า ฉันมีไฟล์ settings.xml ดังต่อไปนี้: <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="@string/AddingItems" android:key="pref_key_storage_settings"> <ListPreference android:key="pref_key_new_items" android:title="@string/LocationOfNewItems" android:summary="@string/LocationOfNewItemsSummary" android:entries="@array/new_items_entry" android:entryValues="@array/new_item_entry_value" android:defaultValue="1"/> </PreferenceCategory> </PreferenceScreen> สตริงถูกกำหนดไว้ที่อื่น

6
getSupportActionBar จากด้านในของ Fragment ActionBarCompat
ฉันเริ่มโครงการใหม่ที่ใช้AppCompat/ActionBarCompatในการv7สนับสนุนห้องสมุด ฉันกำลังพยายามหาวิธีใช้getSupportActionBarจากภายในส่วน กิจกรรมของฉันที่โฮสต์แฟรกเมนต์ขยายออกไปActionBarActivityแต่ฉันไม่เห็นคลาสการสนับสนุนที่คล้ายกันสำหรับ Fragments จากภายในส่วนของฉัน public class CrimeFragment extends Fragment { //... getActivity().getSupportActionBar().setSubtitle(R.string.subtitle); // getSupportActionBar is not defined in the v4 version of Fragment //... } หน้า Google สำหรับใช้งาน ( http://android-developers.blogspot.in/2013/08/actionbarcompat-and-io-2013-app-source.html ) ระบุว่าไม่ควรมีการเปลี่ยนแปลงสำหรับv4ส่วนย่อย ฉันจำเป็นต้องส่งgetActivity()สายทั้งหมดไปที่ActionBarActivity? ดูเหมือนว่าการออกแบบที่ไม่ดี

11
เปลี่ยนสี Toolbar ใน Appcompat 21
ฉันกำลังทดสอบคุณสมบัติใหม่ของ Appcompat 21 Material Design ดังนั้นฉันจึงสร้าง Toolbar ดังนี้: <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/activity_my_toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?attr/actionBarSize" android:background="?attr/colorPrimary" app:theme="@style/ThemeOverlay.AppCompat.ActionBar"/> และรวมไว้ในไฟล์เลย์เอาต์หลักของฉัน จากนั้นฉันตั้งเป็น supportActionBar ดังนี้: Toolbar toolBar = (Toolbar)findViewById(R.id.activity_my_toolbar); setSupportActionBar(toolBar); มันใช้งานได้ แต่อย่างใดฉันไม่สามารถหาวิธีปรับแต่งแถบเครื่องมือได้ มันเป็นสีเทาและข้อความบนนั้นเป็นสีดำ ฉันจะเปลี่ยนพื้นหลังและสีข้อความได้อย่างไร? ฉันได้ทำตามคำแนะนำนี้แล้ว: http://android-developers.blogspot.de/2014/10/appcompat-v21-material-design-for-pre.html ฉันได้ดูแลอะไรในการเปลี่ยนสี? <style name="AppTheme" parent="Theme.AppCompat.Light"> <item name="android:windowActionBar" tools:ignore="NewApi">false</item> <item name="windowActionBar">false</item> </style> แก้ไข : ฉันสามารถเปลี่ยนสีพื้นหลังได้โดยการเพิ่มบรรทัดโค้ดเหล่านี้ในธีม: <item name="colorPrimary">@color/actionbar</item> <item name="colorPrimaryDark">@color/actionbar_dark</item> แต่จะไม่ส่งผลต่อสีข้อความ …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.