| <?xml version="1.0" encoding="utf-8"?> | 
| <FrameLayout 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"> | 
|   | 
|     <ScrollView | 
|         android:layout_width="match_parent" | 
|         android:layout_height="match_parent" | 
|         android:layout_marginTop="0dp"> <!-- 留出顶部广告位的高度 --> | 
|         > | 
|         <!--    LinearLayout的作用是按照垂直或者水平方向排列其子视图--> | 
|         <!--    CardView组件是用于实现卡片式布局--> | 
|         <!--    RecyclerView 回收商视图 它使用适配器(Adapter)来管理数据的显示,--> | 
|         <!--    开发者可以根据自己的需求实现适配器的方法,将数据与视图进行绑定。--> | 
|         <!--    这使得 RecyclerView 能够轻松地处理各种类型的数据,并按照自定义的布局方式展示。--> | 
|         <!--    支持局部刷新 通知数据集变化--> | 
|         <LinearLayout | 
|             android:layout_width="match_parent" | 
|             android:layout_height="wrap_content" | 
|             android:orientation="vertical"> | 
|   | 
|   | 
|             <!-- 优化后的快递/财务切换区域 --> | 
|             <LinearLayout | 
|                 android:layout_width="match_parent" | 
|                 android:layout_height="wrap_content" | 
|                 android:orientation="horizontal" | 
|                 android:layout_marginTop="8dp" | 
|                 android:layout_marginBottom="8dp" | 
|                 android:layout_marginHorizontal="4dp"> | 
|   | 
|                 <!-- 分类标签区域 --> | 
|                 <LinearLayout | 
|                     android:layout_width="0dp" | 
|                     android:layout_height="wrap_content" | 
|                     android:layout_weight="1" | 
|                     android:orientation="horizontal"> | 
|   | 
|                     <com.example.firstapp.view.UnderlineTextView | 
|                         android:id="@+id/tabExpress" | 
|                         android:layout_width="0dp" | 
|                         android:layout_height="match_parent" | 
|                         android:layout_weight="1" | 
|                         android:gravity="center" | 
|                         android:padding="4dp" | 
|                         android:text="快递" | 
|                         android:textSize="14sp" | 
|                         android:singleLine="true" | 
|                         android:ellipsize="end" /> | 
|   | 
|                     <com.example.firstapp.view.UnderlineTextView | 
|                         android:id="@+id/tabFinance" | 
|                         android:layout_width="0dp" | 
|                         android:layout_height="match_parent" | 
|                         android:layout_weight="1" | 
|                         android:gravity="center" | 
|                         android:padding="4dp" | 
|                         android:text="还款" | 
|                         android:textSize="14sp" | 
|                         android:singleLine="true" | 
|                         android:ellipsize="end" /> | 
|   | 
|                     <com.example.firstapp.view.UnderlineTextView | 
|                         android:id="@+id/tabIncome" | 
|                         android:layout_width="0dp" | 
|                         android:layout_height="match_parent" | 
|                         android:layout_weight="1" | 
|                         android:gravity="center" | 
|                         android:padding="4dp" | 
|                         android:text="收入" | 
|                         android:textSize="14sp" | 
|                         android:singleLine="true" | 
|                         android:ellipsize="end" /> | 
|   | 
|                     <com.example.firstapp.view.UnderlineTextView | 
|                         android:id="@+id/tabFlight" | 
|                         android:layout_width="0dp" | 
|                         android:layout_height="match_parent" | 
|                         android:layout_weight="1" | 
|                         android:gravity="center" | 
|                         android:padding="4dp" | 
|                         android:text="航班" | 
|                         android:textSize="14sp" | 
|                         android:singleLine="true" | 
|                         android:ellipsize="end" /> | 
|   | 
|                     <com.example.firstapp.view.UnderlineTextView | 
|                         android:id="@+id/tabTrain" | 
|                         android:layout_width="0dp" | 
|                         android:layout_height="match_parent" | 
|                         android:layout_weight="1" | 
|                         android:gravity="center" | 
|                         android:padding="4dp" | 
|                         android:text="火车票" | 
|                         android:textSize="14sp" | 
|                         android:singleLine="true" | 
|                         android:ellipsize="end" /> | 
|                 </LinearLayout> | 
|   | 
|                 <!-- 右侧图标区域 --> | 
|                 <LinearLayout | 
|                     android:layout_width="wrap_content" | 
|                     android:layout_height="match_parent" | 
|                     android:orientation="horizontal" | 
|                     android:gravity="center_vertical" | 
|                     android:layout_marginStart="2dp"> | 
|   | 
|                     <ImageButton | 
|                         android:id="@+id/categoryButton" | 
|                         android:layout_width="26dp" | 
|                         android:layout_height="26dp" | 
|                         android:layout_marginEnd="4dp" | 
|                         android:background="?attr/selectableItemBackgroundBorderless" | 
|                         android:contentDescription="分类设置" | 
|                         android:padding="3dp" | 
|                         android:scaleType="fitCenter" | 
|                         android:src="@drawable/home_add" /> | 
|   | 
|                     <!-- 使用FrameLayout包装提醒按钮和红点,确保小红点完整显示 --> | 
|                     <FrameLayout | 
|                         android:layout_width="34dp" | 
|                         android:layout_height="34dp"> | 
|   | 
|                         <ImageButton | 
|                             android:id="@+id/reminderButton" | 
|                             android:layout_width="26dp" | 
|                             android:layout_height="26dp" | 
|                             android:layout_gravity="center" | 
|                             android:background="?attr/selectableItemBackgroundBorderless" | 
|                             android:contentDescription="提醒设置" | 
|                             android:padding="3dp" | 
|                             android:scaleType="fitCenter" | 
|                             android:src="@drawable/reminder" /> | 
|   | 
|                         <TextView | 
|                             android:id="@+id/reminderBadge" | 
|                             android:layout_width="14dp" | 
|                             android:layout_height="14dp" | 
|                             android:layout_gravity="top|end" | 
|                             android:background="@drawable/circle_badge_background" | 
|                             android:gravity="center" | 
|                             android:textColor="#FFFFFF" | 
|                             android:textSize="8sp" | 
|                             android:visibility="gone" /> | 
|                     </FrameLayout> | 
|                 </LinearLayout> | 
|             </LinearLayout> | 
|   | 
|             <!-- 内容区域 --> | 
|             <FrameLayout | 
|                 android:layout_width="match_parent" | 
|                 android:layout_height="wrap_content" | 
|                 > | 
|   | 
|                 <androidx.recyclerview.widget.RecyclerView | 
|                     android:id="@+id/express_recycler" | 
|                     android:layout_width="match_parent" | 
|                     android:layout_height="wrap_content" | 
|                     android:padding="8dp" /> | 
|   | 
|                 <androidx.recyclerview.widget.RecyclerView | 
|                     android:id="@+id/finance_recycler" | 
|                     android:layout_width="match_parent" | 
|                     android:layout_height="wrap_content" | 
|                     android:padding="8dp" /> | 
|   | 
|                 <androidx.recyclerview.widget.RecyclerView | 
|                     android:id="@+id/income_recycler" | 
|                     android:layout_width="match_parent" | 
|                     android:layout_height="wrap_content" | 
|                     android:padding="8dp" /> | 
|   | 
|                 <androidx.recyclerview.widget.RecyclerView | 
|                     android:id="@+id/flight_recycler" | 
|                     android:layout_width="match_parent" | 
|                     android:layout_height="wrap_content" | 
|                     android:padding="8dp" | 
|                     android:visibility="gone" /> | 
|   | 
|                 <androidx.recyclerview.widget.RecyclerView | 
|                     android:id="@+id/train_recycler" | 
|                     android:layout_width="match_parent" | 
|                     android:layout_height="wrap_content" | 
|                     android:padding="8dp" | 
|                     android:visibility="gone" /> | 
|   | 
|             </FrameLayout> | 
|   | 
|             <!-- 底部广告位 --> | 
|             <androidx.cardview.widget.CardView | 
|                 android:layout_width="match_parent" | 
|                 android:layout_height="wrap_content" | 
|                 app:cardCornerRadius="8dp" | 
|                 app:cardElevation="2dp"> | 
|   | 
|                 <ImageView | 
|                     android:id="@+id/bottomAdBanner" | 
|                     android:layout_width="match_parent" | 
|                     android:layout_height="80dp" | 
|                     android:scaleType="centerCrop" /> | 
|             </androidx.cardview.widget.CardView> | 
|   | 
|         </LinearLayout> | 
|     </ScrollView> | 
|   | 
| <!--    <!– 顶部广告位 –>--> | 
| <!--    <androidx.cardview.widget.CardView--> | 
| <!--        android:layout_width="match_parent"--> | 
| <!--        android:layout_height="wrap_content">--> | 
|   | 
| <!--        <ImageView--> | 
| <!--            android:id="@+id/adBanner"--> | 
| <!--            android:layout_width="match_parent"--> | 
| <!--            android:layout_height="40dp"--> | 
| <!--            android:scaleType="centerCrop"--> | 
| <!--            android:src="@drawable/up_back" />--> | 
| <!--    </androidx.cardview.widget.CardView>--> | 
|   | 
|     <!-- 在适当的位置添加 --> | 
|   | 
| </FrameLayout> |