<?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>
|