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

ActionBar เป็นคุณลักษณะหน้าต่างของ Android ที่ระบุแอปพลิเคชันและตำแหน่งของผู้ใช้และให้การดำเนินการของผู้ใช้และโหมดการนำทาง

21
จะรับความสูงของ ActionBar ได้อย่างไร
ฉันพยายามรับความสูงของActionBar(โดยใช้ Sherlock) ทุกครั้งที่มีการสร้างกิจกรรม (โดยเฉพาะเพื่อจัดการกับการเปลี่ยนแปลงการกำหนดค่าในการหมุนซึ่งความสูงของ ActionBar อาจเปลี่ยนแปลง) สำหรับเรื่องนี้ฉันใช้วิธีการActionBar.getHeight()ที่ใช้งานได้เฉพาะเมื่อActionBarมีการแสดง เมื่อกิจกรรมแรกที่ถูกสร้างขึ้นเป็นครั้งแรกที่ฉันสามารถโทรgetHeight()ในonCreateOptionsMenuการติดต่อกลับ แต่วิธีนี้ไม่ได้ถูกเรียกหลังจาก ดังนั้นคำถามของฉันคือเมื่อใดที่ฉันสามารถโทรหา getHeight () และมั่นใจได้ว่าจะไม่ส่งคืน 0 หรือถ้าเป็นไปไม่ได้ฉันจะตั้งความสูงของ ActionBar ได้อย่างไร?

9
วิธีปรับแต่งปุ่มย้อนกลับบน ActionBar
ฉันสามารถปรับแต่งพื้นหลังของแถบแอ็คชั่นภาพโลโก้และสีข้อความโดยใช้คำแนะนำจากสิ่งเหล่านี้: Android: วิธีการเปลี่ยนไอคอน "หน้าแรก" ของ ActionBar ให้เป็นอย่างอื่นที่ไม่ใช่ไอคอนแอพ สีข้อความของ ActionBar รูปภาพพื้นหลังของ ActionBar ชิ้นสุดท้ายที่ฉันต้องการปรับแต่งคือภาพปุ่มย้อนกลับ เป็นสีเทาตามค่าเริ่มต้นและฉันต้องการให้เป็นสีขาว ไม่ว่าจะเป็นการเปลี่ยนสีการระบุ drawable หรือเพียงแค่ทำให้มันโปร่งใส ฉันจะทำอย่างไรเกี่ยวกับเรื่องนั้น?

24
แสดงปุ่มย้อนกลับบนแถบการกระทำ
ฉันกำลังพยายามที่จะแสดงBack buttonบนAction barเพื่อย้ายหน้า / กิจกรรมก่อนหน้าหรือไปยังหน้าหลัก (เปิดครั้งแรก) และฉันไม่สามารถทำมันได้ รหัสของฉัน ActionBar actionBar = getActionBar(); actionBar.setHomeButtonEnabled(true); onCreateรหัสที่อยู่ใน

12
สลับระหว่างอิมเมจลิ้นชักการนำทาง Android และ Caret เมื่อใช้แฟรกเมนต์
เมื่อใช้ Navigation Drawer ผู้พัฒนา Android จะแนะนำให้ใช้ใน ActionBar "เฉพาะหน้าจอที่แสดงใน Navigation Drawer เท่านั้นที่ควรมีภาพ Navigation Drawer" และ "หน้าจออื่น ๆ ทั้งหมดมีกะรัตดั้งเดิม" ดูที่นี่สำหรับรายละเอียด: http://youtu.be/F5COhlbpIbY ฉันใช้กิจกรรมเดียวเพื่อควบคุมเศษชิ้นส่วนหลายระดับและสามารถใช้อิมเมจลิ้นชักนำทางเพื่อแสดงและใช้งานได้ในทุกระดับ เมื่อสร้างชิ้นส่วนระดับต่ำกว่าฉันสามารถเรียกใช้ActionBarDrawerToggle setDrawerIndicatorEnabled(false)เพื่อซ่อนภาพลิ้นชักการนำทางและแสดงคาเร็ตขึ้น LowerLevelFragment lowFrag = new LowerLevelFragment(); //disable the toggle menu and show up carat theDrawerToggle.setDrawerIndicatorEnabled(false); getSupportFragmentManager().beginTransaction().replace(R.id.frag_layout, lowFrag, "lowerFrag").addToBackStack(null).commit(); ปัญหาที่ฉันมีคือเมื่อฉันนำทางกลับไปที่ชิ้นส่วนระดับบนสุดขึ้นกะรัตยังคงแสดงแทนภาพลิ้นชักการนำทางเดิม คำแนะนำใด ๆ เกี่ยวกับวิธี "รีเฟรช" ActionBar ในแฟรกเมนต์ระดับบนสุดเพื่อแสดงอิมเมจลิ้นชักการนำทางอีกครั้ง? สารละลาย ข้อเสนอแนะของทอมทำงานให้ฉัน นี่คือสิ่งที่ฉันทำ: กิจกรรมหลัก …

24
getActionBar () ส่งคืนค่าว่าง
ฉันมีปัญหาแปลก ๆ ฉันกำลังสร้างแอปกับ targetdk 13 ในวิธีการ onCreate ของกิจกรรมหลักของฉันฉันโทรgetActionBar()เพื่อตั้งค่าแถบการกระทำของฉัน วิธีนี้ใช้งานได้ดีเมื่อทำงานบนเครื่องจำลอง Android 3.2 แต่เมื่อใช้ Android 3.0 และ 3.1 getActionBar()วิธีการคืนค่าเป็นโมฆะ ฉันพบว่ามันแปลกมากและฉันไม่สามารถเห็นเหตุผลว่าทำไมมันถึงทำเช่นนั้น นี่เป็นข้อบกพร่องของอีมูเลเตอร์หรือมีสิ่งที่ฉันต้องทำเพื่อให้แน่ใจว่าแอปพลิเคชันของฉันมีแอ็คชั่นบาร์หรือไม่? การแก้ไข: ฉันคิดว่าฉันพบวิธีแก้ปัญหาสำหรับปัญหานี้แล้ว ฉันไม่ได้ใช้ setContentView เพื่อกำหนดเค้าโครงสำหรับกิจกรรม แต่ฉันใช้fragmentTransaction.add(android.R.id.content, mFragment, mTag)เพื่อเพิ่มส่วนย่อยให้กับกิจกรรม สิ่งนี้ใช้ได้ดีใน 3.2 แต่ในเวอร์ชันรวงผึ้งก่อนหน้านี้แถบการกระทำนั้นไม่ได้ถูกตั้งค่าหากคุณไม่ใช้ setContentView ในonCreate()วิธีการ ดังนั้นฉันจึงแก้ไขโดยใช้setContentView()วิธีในวิธีการของฉันonCreate()และเพียงแค่จัดหามันด้วยเค้าโครงที่มี FrameLayout ว่างเปล่า ฉันยังคงสามารถใช้fragmentTransaction.add(android.R.id.content, mFragment, mTag)วิธีการเช่นเดียวกับเมื่อก่อน มันไม่ใช่การแก้ไขที่สวยที่สุด แต่ใช้งานได้


11
วิธีการบังคับใช้เมนูโอเวอร์โฟลว์บนอุปกรณ์ที่มีปุ่มเมนู
ฉันต้องการที่จะมีทั้งหมดของรายการเมนูที่ไม่พอดีกับ ActionBar ไปในเมนูล้น (หนึ่งที่เข้าถึงได้จากแถบการทำงานไม่ได้ปุ่มเมนู) แม้ในอุปกรณ์ที่ทำมีปุ่มเมนู ดูเหมือนว่าจะทำให้ผู้ใช้เข้าใจได้ง่ายกว่าการโยนพวกเขาลงในรายการเมนูแยกต่างหากที่ต้องการให้ผู้ใช้ข้ามจากการโต้ตอบ (หน้าจอ) ไปยังการโต้ตอบแบบใช้ปุ่มเพียงเพราะเค้าโครงของ ActionBar ไม่สามารถปรับให้เข้ากับบาร์ได้ ในอีมูเลเตอร์ฉันสามารถตั้งค่า "ฮาร์ดแวร์แบ็ค / โฮมคีย์" เป็น "ไม่" และรับเอฟเฟกต์นี้ ฉันค้นหาวิธีการทำสิ่งนี้ในรหัสสำหรับอุปกรณ์จริงที่มีปุ่มเมนู แต่ไม่สามารถปรับได้ มีใครช่วยฉันบ้าง

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

15
ไม่สามารถโหลด AppCompat ActionBar โดยมีข้อผิดพลาดที่ไม่รู้จักใน android studio
ด้านล่างเป็นไฟล์ xml ของฉัน ในตัวอย่างมีข้อผิดพลาดสองประการคือ 'โหลดเครื่องมือ AppCompat ActionBar พร้อมข้อผิดพลาดที่ไม่รู้จัก' & 'ล้มเหลวในการติดตั้งมากกว่าหนึ่งคลาส' สามารถเรียกใช้แอพได้อย่างไร แต่แอปขัดข้องและใน Logcat จะไม่มีข้อผิดพลาดปรากฏขึ้น นี่คือภาพหน้าจอตัวอย่างของฉัน <?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:openDrawer="start"> <include layout="@layout/app_bar_main" android:layout_width="match_parent" android:layout_height="506dp" /> <LinearLayout android:id="@+id/layout_main" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:weightSum="1" tools:context=".Activity.MainActivity"> <LinearLayout android:id="@+id/main_layout" android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" …

18
ลบไอคอน / โลโก้จากแถบการกระทำบน Android
ฉันพยายามหาวิธีลบไอคอน / โลโก้ออกจากแถบแอ็คชัน แต่สิ่งเดียวที่ฉันพบหลังจากใช้เวลาค้นหาไฟล์เอกสารของ Android และ Google เป็นเวลาหนึ่งชั่วโมงคือวิธีลบแถบชื่อออกทั้งหมด นั่นไม่ใช่สิ่งที่ฉันต้องการ ต้องการลบไอคอน / โลโก้ออกจากแถบหัวเรื่องเท่านั้น มีใครรู้วิธีการทำเช่นนี้? โดยเฉพาะอย่างยิ่งผมอยากจะทำเช่นนี้ในXML

9
ไอคอนจำนวนการแจ้งเตือนของ Actionbar (ตราสัญลักษณ์) เช่นเดียวกับ Google
มีสัญลักษณ์หรือวิธีมาตรฐาน Android เพื่อแสดงไอคอนการแจ้งเตือนของแถบการกระทำที่มีจำนวนเหมือนในตัวอย่างของ Google หรือไม่? ถ้าไม่เช่นนั้นวิธีที่ดีที่สุดที่จะทำคืออะไร? ฉันใหม่สำหรับ Android โปรดช่วยด้วย

27
วิธีการปิดการใช้งานแถบการกระทำอย่างถาวร
ฉันสามารถซ่อนแถบการกระทำในรวงผึ้งโดยใช้รหัสนี้: getActionBar().hide(); แต่เมื่อแป้นพิมพ์เปิดขึ้นและผู้ใช้คัดลอกสิ่งใด ๆ แถบการกระทำจะแสดงอีกครั้ง ฉันจะปิดการใช้งานแถบการกระทำอย่างถาวรได้อย่างไร

8
จะเพิ่ม Action Bar จากไลบรารี่สนับสนุนลงใน PreferenceActivity ได้อย่างไร
ความเข้ากันได้ของ Action Bar ได้รับการเพิ่มเข้าไปในห้องสมุดสนับสนุนการแก้ไขที่ 18 ตอนนี้มีActionBarActivityคลาสสำหรับสร้างกิจกรรมกับ Action Bar บน Android เวอร์ชันเก่า มีวิธีการใด ๆ เพื่อเพิ่มแถบการทำงานจากห้องสมุดสนับสนุนเข้ามาPreferenceActivity? ก่อนหน้านี้ผมใช้ActionBarSherlockSherlockPreferenceActivityและมี

5
วิธีใช้ SearchView ใน Toolbar Android
รหัสที่ฉันใช้งานกำลังใช้ a Toolbarและขยายmenuไฟล์. นี่คือรหัส private Toolbar mToolbar; mToolbar.inflateMenu(R.menu.chat_screen_menu); setupMenu (); private void setupMenu () { mMenu = mToolbar.getMenu(); if (mMenu != null) { if (mChatPager != null && mChatPager.getCurrentItem() > 0) { mMenu.setGroupVisible(R.id.menu_group_chats, true); mMenu.setGroupVisible(R.id.menu_group_contacts, false); } else { mMenu.setGroupVisible(R.id.menu_group_chats, false); mMenu.setGroupVisible(R.id.menu_group_contacts, true); mMenu.setGroupVisible(R.id.menu_group_otr_verified,false); mMenu.setGroupVisible(R.id.menu_group_otr_unverified,false); mMenu.setGroupVisible(R.id.menu_group_otr_off,false); } } mToolbar.setOnMenuItemClickListener(new OnMenuItemClickListener …

12
การเปลี่ยนพื้นหลังที่วาดได้ของวิดเจ็ต searchview
ฉันกำลังพยายามเปลี่ยน drawable ที่อยู่ในวิดเจ็ต searchview ของแถบการดำเนินการของ Android ปัจจุบันมีลักษณะดังนี้: แต่ฉันต้องเปลี่ยนพื้นหลังสีน้ำเงินที่วาดได้เป็นสีแดง ฉันได้ลองทำหลาย ๆ อย่างโดยไม่ต้องใช้วิดเจ็ตการค้นหาของตัวเอง แต่ดูเหมือนจะไม่ได้ผล ใครช่วยชี้ทางที่ถูกต้องให้ฉันเปลี่ยนสิ่งนี้ได้ไหม

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