思路
首先要先知道Fragment的基本使用方法,这里可以参考郭霖的《Android第一行代码》第二版的第四章。如果要实现的是四栏(首页、商城、消息、我),那么需要文件如下
- 4个碎片xml文件+主xml文件+Tab自制xml文件,共6个xml文件
- 4个Fragment文件
- 1个主Activity文件和一个工具类DataGenerator文件。
- 8张小图标,用于tab上。点击前和点击后各4张,也可只有4上,修改文件DataGenerator中的drawble名。
最终效果如下:
第一步:整体页面xml
首先要理解Fragment是要插入xml中的FrameLayout的,因此可以新建一个button_tab.xml,并将这个设置为启动xml(在下文的BottomTab文件中设置)。
button_tab.xml如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/home_container"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
>
</FrameLayout>
<View android:layout_width="match_parent"
android:layout_height="0.5dp"
android:alpha="0.6"
android:background="@android:color/darker_gray"
/>
<com.google.android.material.tabs.TabLayout
android:id="@+id/bottom_tab_layout"
android:layout_width="match_parent"
app:tabIndica