From 33c7ed565ad6bfb30eee84acc33b39e6b639ade9 Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期五, 18 四月 2025 08:54:45 +0800 Subject: [PATCH] fix: 样式 --- app/src/main/res/layout/fragment_home.xml | 238 +++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 215 insertions(+), 23 deletions(-) diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 0a6dc93..7e24373 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -1,30 +1,222 @@ <?xml version="1.0" encoding="utf-8"?> -<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" +<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" - xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" - android:layout_height="match_parent" - tools:context=".ui.home.HomeFragment"> + android:layout_height="match_parent"> -<!-- <TextView--> -<!-- android:id="@+id/text_home"--> -<!-- android:layout_width="match_parent"--> -<!-- android:layout_height="wrap_content"--> -<!-- android:layout_marginStart="8dp"--> -<!-- android:layout_marginTop="8dp"--> -<!-- android:layout_marginEnd="8dp"--> -<!-- android:textAlignment="center"--> -<!-- android:textSize="20sp"--> -<!-- app:layout_constraintBottom_toBottomOf="parent"--> -<!-- app:layout_constraintEnd_toEndOf="parent"--> -<!-- app:layout_constraintStart_toStartOf="parent"--> -<!-- app:layout_constraintTop_toTopOf="parent" />--> - - <androidx.recyclerview.widget.RecyclerView - xmlns:android="http://schemas.android.com/apk/res/android" - android:id="@+id/recyclerView" + <ScrollView android:layout_width="match_parent" android:layout_height="match_parent" - android:padding="8dp"/> + android:layout_marginTop="0dp"> <!-- 留出顶部广告位的高度 --> + > + <!-- LinearLayout的作用是按照垂直或者水平方向排列其子视图--> + <!-- CardView组件是用于实现卡片式布局--> + <!-- RecyclerView 回收商视图 它使用适配器(Adapter)来管理数据的显示,--> + <!-- 开发者可以根据自己的需求实现适配器的方法,将数据与视图进行绑定。--> + <!-- 这使得 RecyclerView 能够轻松地处理各种类型的数据,并按照自定义的布局方式展示。--> + <!-- 支持局部刷新 通知数据集变化--> + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical"> -</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file + + <!-- 优化后的快递/财务切换区域 --> + <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> -- Gitblit v1.9.3