fix: 返回按钮改用透明覆盖层方案

标题栏改为 FrameLayout,图标保持原样
上层叠一个 120dp 宽的透明 View 覆盖左半边
点击左半边任意位置都触发返回,不影响视觉

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
dongliang
2026-05-07 16:52:34 +09:30
parent 0c5d9076a8
commit 1dc34de35a

View File

@@ -10,43 +10,36 @@
android:orientation="vertical"> android:orientation="vertical">
<!-- ===== 固定标题栏(不随内容滚动) ===== --> <!-- ===== 固定标题栏(不随内容滚动) ===== -->
<LinearLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingStart="0dp"
android:paddingTop="8dp" android:paddingTop="8dp"
android:paddingEnd="21dp"
android:paddingBottom="4dp"> android:paddingBottom="4dp">
<!-- 返回按钮:整个左半边可点击,图标靠左 --> <!-- 标题栏内容 -->
<FrameLayout <LinearLayout
android:id="@+id/btnBack" android:layout_width="match_parent"
android:layout_width="0dp" android:layout_height="wrap_content"
android:layout_height="48dp" android:gravity="center_vertical"
android:layout_weight="1" android:paddingEnd="21dp">
android:clickable="true"
android:focusable="true">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="64dp"
android:layout_height="wrap_content" android:layout_height="match_parent"
android:layout_gravity="center_vertical" android:gravity="center"
android:paddingStart="21dp"
android:text="\ue6bd" android:text="\ue6bd"
android:fontFamily="@font/iconfont" android:fontFamily="@font/iconfont"
android:textColor="@color/text_primary" android:textColor="@color/text_primary"
android:textSize="28sp" /> android:textSize="28sp" />
</FrameLayout>
<TextView <TextView
android:id="@+id/tvTitle" android:id="@+id/tvTitle"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
android:gravity="center" android:gravity="center"
android:textColor="@color/text_secondary" android:textColor="@color/text_secondary"
android:textSize="20sp" /> android:textSize="20sp" />
<TextView <TextView
android:id="@+id/tvPageNum" android:id="@+id/tvPageNum"
@@ -58,7 +51,16 @@
android:minWidth="37dp" android:minWidth="37dp"
android:gravity="end" /> android:gravity="end" />
</LinearLayout> </LinearLayout>
<!-- 透明覆盖层:左半边都是返回点击区域 -->
<View
android:id="@+id/btnBack"
android:layout_width="120dp"
android:layout_height="match_parent"
android:layout_gravity="start" />
</FrameLayout>
<!-- ===== 可滚动内容区(标题和按钮之间) ===== --> <!-- ===== 可滚动内容区(标题和按钮之间) ===== -->
<FrameLayout <FrameLayout