安卓开发学习之底部导航栏实战


创建主布局

在 activity 中绑定的布局中,设置如下布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/mainLayout">

        <com.google.android.material.bottomnavigation.BottomNavigationView
            android:id="@+id/bottom_nav_view"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:layout_alignParentBottom="true"
            android:layout_marginStart="0dp"
            android:layout_marginEnd="0dp"
            android:background="?android:attr/windowBackground"
            app:menu="@menu/bottom_nav_menu" />
    </RelativeLayout>

设置底部导航栏

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:id="@+id/navigation_home"
        android:icon="@drawable/ic_hot_24"
        android:title="热门" />

    <item
        android:id="@+id/navigation_show"
        android:icon="@drawable/ic_latest_24"
        android:title="最新" />

    <item
        android:id="@+id/navigation_notice"
        android:icon="@drawable/ic_tweet_24"
        android:title="大咖说" />

</menu>

配置 Navigation 导航

创建对应的三个 Fragment

0 1 2
HotFragment.kt LatestFragment.kt TweetFragment.kt

添加 NavHost

NavHost是一个空的容器,用来切换 destination。类似于用 framelayout 来切换 fragment 的东西。默认实现是NavHostFragment

  • android:name="androidx.navigation.fragment.NavHostFragment"和app:defaultNavHost=”true”指定了,在按back键时会返回到NavHostFragment
    app:navGraph="@navigation/nav_graph"为这个fragment组件指定了navGraph文件
  1. 在res目录下新建一个navigation文件夹,然后新建mobile_navigation.xml


文章作者: Mahoo Huang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Mahoo Huang !
评论
 上一篇
Win10 注册表的使用教程 Win10 注册表的使用教程
右键新建内容无文本文档 检查C:\WINDOWS\notepad.exe是否存在,如无可在搜索引擎中下载; 新建后缀为.reg的文本文档,这里可以各自大显身手,留一个参考选择,打开 CMD命令窗口: copy con <文件名>.t
2020-08-08
下一篇 
安卓开发学习之Webview(转载) 安卓开发学习之Webview(转载)
简介WebView是一个基于webkit引擎、展现web页面的控件。 Android的 Webview 在低版本和高版本采用了不同的 webkit 版本内核,4.4后直接使用了 Chrome。 作用 显示和渲染Web页面 直接使用html文
2020-07-18
  目录