ในรูปแบบพื้นฐานที่สุด แถบการดำเนินการจะแสดงชื่อของกิจกรรมด้านหนึ่งและเมนูรายการเพิ่มเติมอีกด้านหนึ่ง แม้จะอยู่ในรูปแบบพื้นฐานนี้ แถบแอปจะให้ข้อมูลที่เป็นประโยชน์ แก่ผู้ใช้ และทำให้แอป Android มีรูปลักษณ์ที่สอดคล้องกัน
กิจกรรมทั้งหมดที่ใช้ธีมเริ่มต้นจะมี ActionBar
เป็นแถบแอป เพิ่มฟีเจอร์แถบแอปลงใน ActionBar
เวอร์ชันต่างๆ ของ Android ด้วยเหตุนี้ ActionBar
ในตัวจึงทํางานแตกต่างกันไป ขึ้นอยู่กับเวอร์ชัน Android ที่อุปกรณ์ใช้
ในทางกลับกัน ระบบจะเพิ่มฟีเจอร์ลงในไลบรารี AppCompat ของ AndroidX เวอร์ชัน Toolbar
ซึ่งหมายความว่าฟีเจอร์เหล่านั้นจะพร้อมใช้งานในอุปกรณ์ที่ใช้ไลบรารี AndroidX
ด้วยเหตุนี้ คุณจึงควรใช้คลาส Toolbar
ของไลบรารี AndroidX เพื่อติดตั้งใช้งานแถบแอปของกิจกรรม การใช้แถบเครื่องมือของไลบรารี AndroidX จะทำให้ลักษณะการทํางานของแอปสอดคล้องกันในอุปกรณ์ที่หลากหลายมากที่สุด
เพิ่มแถบเครื่องมือลงในกิจกรรม
ขั้นตอนเหล่านี้อธิบายวิธีตั้งค่าToolbar
เป็นแถบแอปของกิจกรรม
- เพิ่มไลบรารี AndroidX ลงในโปรเจ็กต์ตามที่อธิบายไว้ในภาพรวมของ AndroidX
- ตรวจสอบว่ากิจกรรมขยายเวลาแล้ว
AppCompatActivity
Kotlin
class MyActivity : AppCompatActivity() { // ... }
Java
public class MyActivity extends AppCompatActivity { // ... }
- ในไฟล์ Manifest ของแอป ให้ตั้งค่าองค์ประกอบ
<application>
ให้ใช้ธีมNoActionBar
ของ AppCompat ตามที่แสดงในตัวอย่างต่อไปนี้ การใช้ธีมใดธีมหนึ่งเหล่านี้จะป้องกันไม่ให้แอปใช้คลาสActionBar
เนทีฟเพื่อแสดงแถบแอป<application android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
- เพิ่ม
Toolbar
ในเลย์เอาต์ของกิจกรรม ตัวอย่างเช่น โค้ดเลย์เอาต์ต่อไปนี้จะเพิ่มToolbar
และทำให้ดูเหมือนลอยอยู่เหนือกิจกรรม<androidx.appcompat.widget.Toolbar android:id="@+id/my_toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" android:elevation="4dp" android:theme="@style/ThemeOverlay.AppCompat.ActionBar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
ดูคำแนะนำเกี่ยวกับการยกระดับแถบแอปได้ที่ข้อกำหนดของ Material Design
จัดตำแหน่งแถบเครื่องมือที่ด้านบนของเลย์เอาต์ของกิจกรรม เนื่องจากคุณใช้แถบเครื่องมือเป็นแถบแอป
- ในเมธอด
onCreate()
ของกิจกรรม ให้เรียกใช้เมธอดsetSupportActionBar()
ของกิจกรรมและส่งแถบเครื่องมือของกิจกรรมดังที่แสดงในตัวอย่างต่อไปนี้ วิธีนี้จะตั้งค่าแถบเครื่องมือเป็นแถบแอปสําหรับกิจกรรมKotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_my) // The Toolbar defined in the layout has the id "my_toolbar". setSupportActionBar(findViewById(R.id.my_toolbar)) }
Java
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar); setSupportActionBar(myToolbar); }
ตอนนี้แอปของคุณมีแถบการดำเนินการพื้นฐานแล้ว โดยค่าเริ่มต้น แถบการดำเนินการจะมีชื่อแอปและเมนูรายการเพิ่มเติม ซึ่งในตอนแรกจะมีรายการการตั้งค่า คุณสามารถเพิ่มการดำเนินการอื่นๆ ลงในแถบการดำเนินการและเมนูรายการเพิ่มเติมได้ ตามที่อธิบายไว้ในหัวข้อเพิ่มและจัดการการดำเนินการ
ใช้เมธอดยูทิลิตีของแถบแอป
เมื่อตั้งค่าแถบเครื่องมือเป็นแอปบาร์ของแอปติวิตีแล้ว คุณจะมีสิทธิ์เข้าถึงเมธอดยูทิลิตีที่มาจากActionBar
คลาสของไลบรารี AndroidX แนวทางนี้ช่วยให้คุณทําสิ่งต่างๆ ที่มีประโยชน์ได้ เช่น ซ่อนหรือแสดงแถบแอป
หากต้องการใช้เมธอดยูทิลิตี ActionBar
ให้เรียกใช้เมธอด getSupportActionBar()
ของกิจกรรม เมธอดนี้จะแสดงการอ้างอิงไปยังออบเจ็กต์ AppCompat ActionBar
เมื่อได้การอ้างอิงแล้ว คุณจะเรียกใช้เมธอด ActionBar
ใดก็ได้เพื่อปรับแถบแอป เช่น หากต้องการซ่อนแถบแอป ให้เรียกใช้ ActionBar.hide()