AndroidはBottomNavigationViewとNavControlを使用して下部ナビゲーションバーを実現
4660 ワード
1.メインレイアウト
BottomNavigationView:下部ナビゲーションビュー、menuでナビゲーションメニュー、すなわちナビゲーションID、アイコン、タイトルを指定
fragment:ナビゲーション切り替えのFragmentプレースホルダ、navGraphによってナビゲーションルール、すなわちIDとFragmentによるクラスのマッピングを指定
2.ナビゲーションメニューレイアウト
各ナビゲーションメニューには、ナビゲーションのID、アイコン、タイトルが含まれています
3.ナビゲーション規則
各ナビゲーションルールには、メニューのIDと一致するナビゲーションIDとFragmentクラスのマッピングが含まれています.
4.メインActivity
NavControllerはナビゲーションコントローラで、ナビゲーションルールが含まれており、ナビゲーションの中枢です
NavigationUI.setupActionBarWithNavController、NavControllerナビゲーション変更のリスニングイベントを設定し、ページタイトルバーを変更する
NavigationUI.setupWithNavControllerは、ナビゲーションの変更をトリガーするイベントを設定し、下部のナビゲーションバーがクリックされるとナビゲーションをトリガーします
BottomNavigationView:下部ナビゲーションビュー、menuでナビゲーションメニュー、すなわちナビゲーションID、アイコン、タイトルを指定
fragment:ナビゲーション切り替えのFragmentプレースホルダ、navGraphによってナビゲーションルール、すなわちIDとFragmentによるクラスのマッピングを指定
2.ナビゲーションメニューレイアウト
各ナビゲーションメニューには、ナビゲーションのID、アイコン、タイトルが含まれています
3.ナビゲーション規則
各ナビゲーションルールには、メニューのIDと一致するナビゲーションIDとFragmentクラスのマッピングが含まれています.
4.メインActivity
/**
* ,
*/
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/* */
setContentView(R.layout.activity_main);
/* */
BottomNavigationView navView = findViewById(R.id.nav_view);
/* AppBar */
AppBarConfiguration appBarConfiguration = new AppBarConfiguration.Builder(R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications).build();
/* Fragment ,navGraph */
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
/* AppBar , , */
NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration);
/* , */
NavigationUI.setupWithNavController(navView, navController);
}
}
NavControllerはナビゲーションコントローラで、ナビゲーションルールが含まれており、ナビゲーションの中枢です
NavigationUI.setupActionBarWithNavController、NavControllerナビゲーション変更のリスニングイベントを設定し、ページタイトルバーを変更する
NavigationUI.setupWithNavControllerは、ナビゲーションの変更をトリガーするイベントを設定し、下部のナビゲーションバーがクリックされるとナビゲーションをトリガーします