android实现底部导航_仿抖音底部导航
时间: 2023-09-24 08:14:30 浏览: 63
要实现底部导航,可以使用 Android 底部导航栏组件,它是一个非常方便的工具,可以让你快速实现底部导航。
下面是一个简单的代码示例,使用 Android 底部导航栏组件实现仿抖音底部导航:
1. 在布局文件中添加 BottomNavigationView 组件:
```
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
app:menu="@menu/navigation_menu" />
```
2. 创建菜单资源文件 navigation_menu.xml,添加底部导航栏的菜单项:
```
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/navigation_home"
android:icon="@drawable/ic_home"
android:title="@string/menu_home" />
<item
android:id="@+id/navigation_search"
android:icon="@drawable/ic_search"
android:title="@string/menu_search" />
<item
android:id="@+id/navigation_add"
android:icon="@drawable/ic_add"
android:title="@string/menu_add" />
<item
android:id="@+id/navigation_notifications"
android:icon="@drawable/ic_notifications"
android:title="@string/menu_notifications" />
<item
android:id="@+id/navigation_profile"
android:icon="@drawable/ic_profile"
android:title="@string/menu_profile" />
</menu>
```
3. 在 Activity 中为 BottomNavigationView 设置监听器,根据不同的菜单项跳转到对应的 Fragment:
```
private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
= new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.navigation_home:
// 跳转到 HomeFragment
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, HomeFragment.newInstance())
.commit();
return true;
case R.id.navigation_search:
// 跳转到 SearchFragment
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, SearchFragment.newInstance())
.commit();
return true;
case R.id.navigation_add:
// 跳转到 AddFragment
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, AddFragment.newInstance())
.commit();
return true;
case R.id.navigation_notifications:
// 跳转到 NotificationsFragment
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, NotificationsFragment.newInstance())
.commit();
return true;
case R.id.navigation_profile:
// 跳转到 ProfileFragment
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, ProfileFragment.newInstance())
.commit();
return true;
}
return false;
}
};
```
这样就可以实现仿抖音底部导航了。