# BottomNavDemo **Repository Path**: Holloyi/bottom-nav-demo ## Basic Information - **Project Name**: BottomNavDemo - **Description**: Navigation底部导航栏demo - **Primary Language**: Android - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-01-07 - **Last Updated**: 2022-01-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # BottomNavDemo #### 介绍 Android-Jetpack-Navigation-底部导航栏demo #### 软件架构 MainActivity+多个Fragment切换+BottomNavigationView 实现底部导航 #### 效果展示 ![在这里插入图片描述](https://img-blog.csdnimg.cn/7ae4047cff1b47c4a30d43510cb54258.gif#pic_center) #### 实现步骤 ##### 1、导入相关依赖 ```groovy dependencies { //Navigation def nav_version = "2.3.5" implementation "androidx.navigation:navigation-fragment:$nav_version" implementation "androidx.navigation:navigation-ui:$nav_version" } ``` ##### 2、创建Fregment FirstFragment.class ```java public class FirstFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_first, container, false); } } ``` fragment_first.xml ```xml ``` SecondFragment、ThirdFragment仅文本显示不同,略过。 ##### 3、创建导航资源图 ![在这里插入图片描述](https://img-blog.csdnimg.cn/f7afa1bbdeb04d31b772f4c458ece2e2.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA546L5bCP5rOl,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center) ```xml ``` ##### 4、创建menu资源文件 ![在这里插入图片描述](https://img-blog.csdnimg.cn/907a564b091f4e3a85100ce253abdb79.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA546L5bCP5rOl,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center) ```xml ``` ##### 5、MainActivity布局文件 activity_my_main.xml ```xml ``` selector_bottom_nav_icon_color.xml,用于区分底部active和inactive状态 ```xml ``` ##### 6、MainActivity.class ```java public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); NavController navController = Navigation.findNavController(this,R.id.nav_host); BottomNavigationView navigationView = findViewById(R.id.bottom_nav_view); NavigationUI.setupWithNavController(navigationView,navController); } } ```