ตั้งค่าแถบแอป

ลองใช้วิธีการเขียน
Jetpack Compose เป็นชุดเครื่องมือ UI ที่แนะนำสำหรับ Android ดูวิธีเพิ่มคอมโพเนนต์ใน Compose

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

วันที่ รูปภาพแสดงแถบแอปในแอป Now in Android
รูปที่ 1 แถบแอปที่มีไอคอนการดำเนินการใน "ตอนนี้อยู่ใน Android" แอป

กิจกรรมทั้งหมดที่ใช้ธีมเริ่มต้นจะมีองค์ประกอบ ActionBar แบบแอป แถบ มีการเพิ่มฟีเจอร์แถบแอปลงใน ActionBar ดั้งเดิมผ่านฟีเจอร์ต่างๆ รุ่นต่างๆ ของ Android ด้วยเหตุนี้ โฆษณาเนทีฟ ActionBar จึงทำงานต่างออกไป โดยขึ้นอยู่กับเวอร์ชัน Android ที่อุปกรณ์ใช้

ในทางกลับกัน มีการเพิ่มคุณลักษณะลงในเวอร์ชันของไลบรารี AndroidX AppCompat Toolbar, ซึ่งหมายความว่าคุณลักษณะเหล่านั้นจะพร้อมใช้งานในอุปกรณ์ที่ใช้ไลบรารี AndroidX

ใช้คลาส Toolbar ของไลบรารี AndroidX เพื่อนำกิจกรรมของคุณไปใช้ แถบแอป ด้วยเหตุนี้ การใช้แถบเครื่องมือของไลบรารี AndroidX จะทำให้แอปของคุณ พฤติกรรมที่สอดคล้องกันในอุปกรณ์หลากหลายประเภทที่สุด

เพิ่มแถบเครื่องมือลงในกิจกรรม

ขั้นตอนต่อไปนี้อธิบายวิธีตั้งค่า Toolbar เป็นแถบแอปของกิจกรรม
  1. เพิ่มไลบรารี AndroidX ลงในโปรเจ็กต์ของคุณ ตามที่อธิบายไว้ใน ภาพรวม AndroidX
  2. ตรวจสอบว่ากิจกรรมขยายเวลาออกไป AppCompatActivity:

    Kotlin

    class MyActivity : AppCompatActivity() {
      // ...
    }
    

    Java

    public class MyActivity extends AppCompatActivity {
      // ...
    }
    
  3. ในไฟล์ Manifest ของแอป ให้ตั้งค่า <application> ที่จะใช้หนึ่งในคอมโพเนนต์ AppCompat NoActionBar ธีม ดังที่ปรากฏในตัวอย่างต่อไปนี้ การใช้ธีมใดธีมหนึ่งเหล่านี้จะป้องกันไม่ให้ แอปจากการใช้คลาส ActionBar แบบเนทีฟเพื่อแสดงแถบแอป
    <application
        android:theme="@style/Theme.AppCompat.Light.NoActionBar"
        />
    
  4. เพิ่ม Toolbar ในเลย์เอาต์ของกิจกรรม ตัวอย่างเช่น URL ต่อไปนี้ โค้ดเลย์เอาต์จะเพิ่ม 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 สำหรับคำแนะนำเกี่ยวกับระดับความสูงของแถบแอป

    วางแถบเครื่องมือไว้ที่ด้านบนของ layout เนื่องจากคุณกำลังใช้ เป็นแถบแอป

  5. ในกิจกรรม 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);
    }
    

ตอนนี้แอปมีแถบการดำเนินการพื้นฐานแล้ว โดยค่าเริ่มต้น แถบการดำเนินการจะมีชื่อ ของแอปและเมนูรายการเพิ่มเติม ซึ่งในตอนแรกจะมีรายการการตั้งค่า คุณสามารถเพิ่มการทำงานอื่นๆ ลงในแถบการทำงานและเมนูรายการเพิ่มเติม ดังที่อธิบายไว้ใน เพิ่มและจัดการการดำเนินการ

ใช้วิธีการยูทิลิตีในแถบแอป

คุณจะเข้าถึงยูทิลิตีนี้ได้เมื่อตั้งแถบเครื่องมือเป็นแถบแอปของกิจกรรมแล้ว ที่ให้บริการโดยไลบรารี AndroidX ActionBar วิธีนี้ช่วยให้คุณทำสิ่งต่างๆ ที่เป็นประโยชน์ได้ เช่น ซ่อนและแสดงแถบแอป

หากต้องการใช้วิธียูทิลิตี ActionBar ให้เรียกกิจกรรม วันที่ getSupportActionBar() เมธอดนี้จะแสดงการอ้างอิงไปยังออบเจ็กต์ ActionBar ของ AppCompat เมื่อคุณมีการอ้างอิงแล้ว คุณสามารถเรียกใช้เมธอด ActionBar ใดก็ได้ เพื่อปรับแถบแอป ตัวอย่างเช่น หากต้องการซ่อนแถบแอป ให้เรียก ActionBar.hide()