ก่อนเข้าสู่ตัวอย่างมุมมองการนำทาง เราควรทราบเกี่ยวกับมุมมองการนำทางก่อน มุมมองการนำทางก็เหมือนกับเมนูเลื่อนใน HTML มุมมองการนำทางถูกขยายโดยลิ้นชักการนำทาง กรณีการใช้งานส่วนใหญ่ของมุมมองการนำทางใช้เพื่อเปลี่ยนเส้นทางกิจกรรมต่างๆ หรือแสดงข้อมูลโปรไฟล์
ตัวอย่างนี้สาธิตเกี่ยวกับวิธีการรวม NavigationView ใน ActionBar
ขั้นตอนที่ 1 − สร้างโครงการใหม่ใน Android Studio ไปที่ไฟล์ ⇒ โครงการใหม่และกรอกรายละเอียดที่จำเป็นทั้งหมดเพื่อสร้างโครงการใหม่
ขั้นที่ 2 − ในขณะที่สร้างโครงการ เราควรเลือกกิจกรรมลิ้นชักการนำทางดังที่แสดงด้านล่าง
หลังจากเลือกกิจกรรมลิ้นชักการนำทางแล้ว ให้คลิกปุ่มถัดไปเพื่อสิ้นสุดการสร้างโครงการ
ขั้นตอนที่ 3 − เปิดโครงสร้างโปรเจ็กต์ของคุณสำหรับโฟลเดอร์เลย์เอาต์ Android studio สร้างเลย์เอาต์ที่แตกต่างกันดังแสดงด้านล่าง
activity_main.xml − มันเป็นเลย์เอาต์ MainActivity มันจะสร้างรูปแบบลิ้นชักเป็นเค้าโครงหลักและเค้าโครงย่อยประกอบด้วยมุมมองการนำทางดังแสดงด้านล่าง
<รวมเลย์เอาต์ ="@layout/app_bar_main" android:layout_width ="match_parent" android:layout_height ="match_parent" />
ในมุมมองการนำทางจะมีสองเค้าโครงเป็นเค้าโครงส่วนหัวและเค้าโครงเมนู เค้าโครงส่วนหัวประกอบด้วยข้อมูลเกี่ยวกับส่วนหัวของมุมมองการนำทางและเค้าโครงเมนูมีข้อมูลเกี่ยวกับรายการเมนู
app_bar_main.xml − เป็นไฟล์เลย์เอาต์ตามที่เราเห็นเลย์เอาต์ปกติ แต่มีข้อมูลเกี่ยวกับเลย์เอาต์ของแถบแอป (แถบการทำงาน) เลย์เอาต์ตรงกลาง
<รุ่นก่อนหน้า>ในเค้าโครงด้านบน เราได้รวมเค้าโครง content_main เป็น mainlayout ที่ผู้ใช้สามารถกำหนดมุมมองเองได้ตามที่แสดงด้านล่าง
nav_header_main − เป็นมุมมองส่วนหัวของการนำทาง ซึ่งมีข้อมูลเกี่ยวกับส่วนหัวการนำทาง เราได้ปรับแต่งส่วนหัวการนำทางตามที่แสดงด้านล่าง
หมายเหตุ − เราได้เพิ่ม drawable/logo ในขณะที่คุณกำลังพัฒนาแอปพลิเคชัน โปรดเพิ่มโลโก้ของคุณเอง
activity_main_drawer − เป็นเลย์เอาต์ของเมนูซึ่งมีอยู่ที่ menu/activity_main_drawer.xml ดังแสดงด้านล่าง
ก่อน>ขั้นตอนที่ 4 − เพิ่มรหัสต่อไปนี้ใน src/MainActivity.java
<ก่อนหน้า>นำเข้า android.os.Bundle;นำเข้า android.support.design.widget.FloatingActionButton;นำเข้า android.support.design.widget.Snackbar;นำเข้า android.view.View;นำเข้า android.support.design.widget.NavigationView; นำเข้า android.support.v4.view.GravityCompat นำเข้า android.support.v4.widget.DrawerLayout นำเข้า android.support.v7.app.ActionBarDrawerToggle นำเข้า android.support.v7.app.AppCompatActivity นำเข้า android.support.v7 .widget.Toolbar นำเข้า android.view.Menu นำเข้า android.view.MenuItem คลาสสาธารณะ MainActivity ขยาย AppCompatActivity ใช้ NavigationView.OnNavigationItemSelectedListener { @Override ป้องกันโมฆะ onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); แถบเครื่องมือแถบเครื่องมือ =(แถบเครื่องมือ) findViewById(R.id.toolbar); setSupportActionBar (แถบเครื่องมือ); DrawerLayout ลิ้นชัก =(DrawerLayout) findViewById (R.id.drawer_layout); สลับ ActionBarDrawerToggle =ActionBarDrawerToggle ใหม่ (นี้, ลิ้นชัก, แถบเครื่องมือ, R.string.navigation_drawer_open, R.string.navigation_drawer_close); Drawer.addDrawerListener (สลับ); toggle.syncState(); NavigationView navigationView =(NavigationView) findViewById (R.id.nav_view); navigationView.setNavigationItemSelectedListener (นี้); } @แทนที่โมฆะสาธารณะ onBackPressed () { DrawerLayout drawer =(DrawerLayout) findViewById (R.id.drawer_layout); ถ้า (drawer.isDrawerOpen (GravityCompat.START)) { Drawer.closeDrawer (GravityCompat.START); } อื่น ๆ { super.onBackPressed(); } } @Override บูลีนสาธารณะ onCreateOptionsMenu (เมนูเมนู) {// ขยายเมนู; สิ่งนี้จะเพิ่มรายการลงในแถบการดำเนินการหากมีอยู่ getMenuInflater().inflate(R.menu.main เมนู); คืนค่าจริง; } @Override บูลีนสาธารณะ onOptionsItemSelected (รายการเมนู) { // จัดการรายการแถบการดำเนินการคลิกที่นี่ แถบการทำงานจะ // จัดการการคลิกปุ่มหน้าแรก/ขึ้นโดยอัตโนมัติ ตราบใดที่คุณระบุกิจกรรมหลักใน AndroidManifest.xml int id =item.getItemId(); // noinspection SimplifiableIfStatement if (id ==R.id.action_settings) { คืนค่าจริง; } ส่งคืน super.onOptionsItemSelected(รายการ); } @SuppressWarnings("StatementWithEmptyBody") @Override public boolean onNavigationItemSelected(MenuItem item) { // จัดการการนำทางดูรายการคลิกที่นี่ int id =item.getItemId(); if (id ==R.id.nav_camera) { // จัดการการทำงานของกล้อง } else if (id ==R.id.nav_gallery) { } else if (id ==R.id.nav_slideshow) { } else if ( id ==R.id.nav_manage) { } else if (id ==R.id.nav_share) { } else if (id ==R.id.nav_send) { } DrawerLayout ลิ้นชัก =(DrawerLayout) findViewById (R.id .drawer_layout); drawer.closeDrawer (GravityCompat.START); คืนค่าจริง; }}
หากต้องการปิดมุมมองการนำทาง เราต้องปิด Drawer ตามภาพด้านล่าง
if (drawer.isDrawerOpen(GravityCompat.START)) { Drawer.closeDrawer(GravityCompat.START);}
ในการเปลี่ยนตำแหน่งการดูการนำทาง ให้ใช้รหัสต่อไปนี้
DrawerLayout drawer =(DrawerLayout) findViewById(R.id.drawer_layout);drawer.closeDrawer(GravityCompat.END);
มาลองเรียกใช้แอปพลิเคชันของคุณกัน ฉันคิดว่าคุณได้เชื่อมต่ออุปกรณ์มือถือ Android จริงกับคอมพิวเตอร์ของคุณ ในการรันแอพจาก android studio ให้เปิดไฟล์กิจกรรมของโปรเจ็กต์แล้วคลิกไอคอน Run จากแถบเครื่องมือ เลือกอุปกรณ์มือถือของคุณเป็นตัวเลือก จากนั้นตรวจสอบอุปกรณ์มือถือของคุณซึ่งจะแสดงหน้าจอเริ่มต้นของคุณ