Dengan menggunakan kontrol kustom, Anda dapat menambahkan elemen UI Anda sendiri di atas tampilan navigasi. Navigation SDK secara otomatis memosisikan ulang kontrol kustom Anda saat perubahan tata letak bawaan.
Anda dapat menetapkan satu kontrol kustom untuk setiap posisi. Kontrol kustom dapat berupa satu
elemen UI atau, jika desain Anda memerlukan lebih banyak elemen, Anda dapat menggunakan ViewGroup
dengan
beberapa elemen UI.
Metode setCustomControl
menyediakan posisi seperti yang ditentukan dalam enum CustomControlPosition
:
SECONDARY_HEADER
(hanya muncul dalam mode potret)BOTTOM_START_BELOW
BOTTOM_END_BELOW
Pada gambar di bawah, Anda dapat melihat contoh setiap posisi dalam penempatan kontrol UI yang memberi tahu pengemudi lokasi penumpang.
Menambahkan kontrol kustom di bawah header utama
Secara default, tata letak menampilkan Kemudian panah atau panduan jalur di bawah header utama. Aplikasi Anda dapat mengganti tata letak default dengan kontrol kustom yang disetel di posisi header sekunder. Kontrol ini menggantikan konten default di atas tampilan navigasi. Jika tampilan Anda memiliki latar belakang, latar belakang tersebut tetap di tempat. Saat aplikasi Anda menghapus konten kustom, konten default akan muncul di tempatnya.
Posisi ini berada di bawah header peta utama, dengan tepi atas sejajar dengan
tepi bawah header utama. Header sekunder default disembunyikan. Posisi
ini hanya didukung di portrait mode
. Di landscape mode
, header
sekunder tidak tersedia, dan tata letak tidak berubah.
- Buat Android View dengan elemen UI kustom atau ViewGroup.
- Inflate xml atau buat instance tampilan kustom untuk mendapatkan instance tampilan yang akan ditambahkan sebagai header sekunder.
Gunakan
NavigationView.setCustomControl
atauNavigationFragment.setCustomControl
dengan CustomControlPosition sebagai SECONDARY_ Ada.Contoh di bawah membuat fragmen dan menambahkan kontrol kustom di posisi header sekunder.
mNavFragment.setCustomControl(getLayoutInflater(). inflate(R.layout.your_custom_control, null), CustomControlPosition.SECONDARY_HEADER);
Menghapus header sekunder
Jika Anda ingin menghapus header sekunder dan kembali ke konten default,
gunakan metode setCustomControl
.
Setel tampilan ke null untuk menghapus tampilan.
mNavFragment.setCustomControl(null, CustomControlPosition.SECONDARY_HEADER);
Menambahkan kontrol kustom di atas tampilan navigasi
Aplikasi Anda dapat menentukan kontrol kustom yang sejajar dengan tepi bawah tampilan. Saat aplikasi Anda menambahkan kontrol kustom, tombol tengahkan kembali dan logo Google akan bergerak ke atas untuk mengakomodasi kontrol kustom.
- Buat Android View dengan elemen UI atau kelompok tampilan yang ingin Anda tambahkan.
- Buat fragmen atau tampilan navigasi.
- Panggil metode
setCustomControl
pada tampilan atau fragmen navigasi, dan tentukan kontrol serta posisi yang akan digunakan.
Contoh berikut menunjukkan View
kustom yang ditambahkan ke NavigationFragment
:
private NavigationFragment mNavFragment;
mNavFragment = (NavigationFragment)
getFragmentManager().findFragmentById(R.id.navigation_fragment);
// Create the custom control view.
MyCustomView myCustomView = new MyCustomView();
// Add the custom control to the bottom end corner of the layout.
mNavFragment.setCustomControl(myCustomView, CustomControlPosition.
BOTTOM_END_BELOW);
Menghapus kontrol kustom
Jika Anda ingin menghapus kontrol kustom, gunakan metode setCustomControl
dan
tentukan posisi kontrol yang ingin dihapus.
Setel tampilan ke
null
untuk posisi tersebut.mNavFragment.setCustomControl(null, CustomControlPosition.BOTTOM_END_BELOW);