底部菜单栏之Fragment的详细介绍和使用方法

底部菜单栏之Fragment的详细介绍和使用方法 :
http://blog.csdn.net/loongggdroid/article/details/9366413
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安卓底部导航通常使用Fragment来实现切换不同的页面。下面是一个简单的示例代码,展示如何在底部导航使用Fragment: 1. 首先,在布局文件中定义底部导航的样式,例如使用`BottomNavigationView`: ```xml <com.google.android.material.bottomnavigation.BottomNavigationView android:id="@+id/bottom_navigation" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" app:menu="@menu/bottom_navigation_menu" /> ``` 2. 创建一个`menu`文件夹,并在其中创建一个`bottom_navigation_menu.xml`文件,定义底部导航菜单项: ```xml <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/menu_home" android:title="Home" android:icon="@drawable/ic_home" /> <item android:id="@+id/menu_dashboard" android:title="Dashboard" android:icon="@drawable/ic_dashboard" /> <item android:id="@+id/menu_notifications" android:title="Notifications" android:icon="@drawable/ic_notifications" /> </menu> ``` 3. 在Activity中设置底部导航的点击监听和Fragment切换逻辑: ```java public class MainActivity extends AppCompatActivity { private BottomNavigationView bottomNavigationView; private FragmentManager fragmentManager; private Fragment currentFragment; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bottomNavigationView = findViewById(R.id.bottom_navigation); fragmentManager = getSupportFragmentManager(); // 默认显示第一个Fragment currentFragment = new HomeFragment(); fragmentManager.beginTransaction().replace(R.id.fragment_container, currentFragment).commit(); bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { switch (item.getItemId()) { case R.id.menu_home: currentFragment = new HomeFragment(); break; case R.id.menu_dashboard: currentFragment = new DashboardFragment(); break; case R.id.menu_notifications: currentFragment = new NotificationsFragment(); break; } fragmentManager.beginTransaction().replace(R.id.fragment_container, currentFragment).commit(); return true; } }); } } ``` 4. 创建对应的Fragment类,例如`HomeFragment`、`DashboardFragment`和`NotificationsFragment`,并实现各自的布局和逻辑。 这样,当底部导航菜单项被点击时,对应的Fragment就会被加载到`fragment_container`容器中,实现了底部导航的切换效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值