在Android stdio中实现点击页面底部的导航栏不同页面地名称就可以直接跳转至相应的页面,给出一个完整地案例及详细步骤和代码
时间: 2024-03-09 16:47:44 浏览: 81
虚拟存储管理器的页面调度
好的,下面是一个简单的案例和相关步骤和代码。
1. 创建一个新的Android项目,选择Bottom Navigation Activity
2. 打开activity_main.xml文件,可以看到已经默认生成了一个BottomNavigationView和三个Fragment
3. 在res/menu文件夹中,打开bottom_nav_menu.xml文件,可以看到底部导航栏的菜单项,可以根据需要修改或添加菜单项
4. 打开MainActivity.java文件,可以看到已经默认生成了一些代码,用于设置底部导航栏和切换Fragment
5. 在onCreate()方法中添加以下代码,用于设置底部导航栏的切换事件:
```java
BottomNavigationView navView = findViewById(R.id.nav_view);
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
NavigationUI.setupWithNavController(navView, navController);
```
6. 现在需要为每个菜单项关联一个Fragment,在res/navigation文件夹中,打开nav_graph.xml文件,可以看到已经默认生成了三个Fragment,可以根据需要修改或添加Fragment
7. 在每个菜单项中,添加以下属性,用于关联对应的Fragment:
```xml
app:destination="@id/fragment_name"
```
8. 现在可以在每个Fragment中添加需要的布局和逻辑代码,例如在HomeFragment中添加以下代码:
```java
public class HomeFragment extends Fragment {
private HomeViewModel homeViewModel;
public View onCreateView(@NonNull LayoutInflater inflater,
ViewGroup container, Bundle savedInstanceState) {
homeViewModel =
ViewModelProviders.of(this).get(HomeViewModel.class);
View root = inflater.inflate(R.layout.fragment_home, container, false);
final TextView textView = root.findViewById(R.id.text_home);
homeViewModel.getText().observe(getViewLifecycleOwner(), new Observer<String>() {
@Override
public void onChanged(@Nullable String s) {
textView.setText(s);
}
});
return root;
}
}
```
9. 运行程序,可以看到底部导航栏已经可以切换对应的Fragment了。
以上就是实现点击页面底部的导航栏不同页面地名称就可以直接跳转至相应的页面的完整案例及详细步骤和代码。
阅读全文