iOS 补充

This commit is contained in:
Developer
2026-06-19 07:16:30 +08:00
parent 83720002e6
commit 8786abd59e
3 changed files with 35 additions and 8 deletions

View File

@@ -3,7 +3,7 @@
/// 创建时间: 2026-06-18
/// 更新时间: 2026-06-19
/// 作用: 微信PC式三栏工作台布局导航栏+中栏列表+右栏详情)
/// 上次更新: 右栏返回双按钮(pop+clear)拖拽clamp合并取min双栏注释修正构建失败移除无效条目改用canPop判断
/// 上次更新: 修复移动端横屏中栏左右空白问题;移除双栏模式 *0.75 缩放;中栏移除水平 SafeArea padding
/// ============================================================
import 'package:flutter/cupertino.dart';
@@ -162,12 +162,13 @@ class _WorkbenchLayoutState extends ConsumerState<WorkbenchLayout> {
],
);
} else {
// 双栏模式:中栏紧凑显示(宽度*0.75+ 分割条 + 右栏
// 双栏模式:中栏使用完整宽度(移除 *0.75 缩放,避免横屏空白浪费)
// 中栏宽度通过 _middleWidth 自适应,默认 _defaultMiddleWidth
contentArea = Row(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
SizedBox(
width: (_middleWidth ?? _defaultMiddleWidth) * 0.75,
width: _middleWidth ?? _defaultMiddleWidth,
child: middlePanel,
),
divider,
@@ -230,9 +231,15 @@ class _WorkbenchLayoutState extends ConsumerState<WorkbenchLayout> {
Widget _buildMiddlePanel() {
// 中栏显示当前 Tab 的一级页面HomePage/DiscoverPage/ProfilePage
// 通过 navigationShell 提供
// 移除水平 SafeArea padding避免横屏时左右出现空白
return Container(
color: Theme.of(context).colorScheme.surfaceContainerLowest,
child: widget.navigationShell,
child: MediaQuery.removePadding(
context: context,
removeLeft: true,
removeRight: true,
child: widget.navigationShell,
),
);
}

View File

@@ -1,9 +1,9 @@
/// ============================================================
/// 闲言APP — 工作台模式设置页面
/// 创建时间: 2026-06-18
/// 更新时间: 2026-06-18
/// 更新时间: 2026-06-19
/// 作用: 整合分屏/工作台相关设置为独立页面,扩展交互增强功能
/// 上次更新: 修复编译错误,对齐 AppThemeExtension/SplitViewState 字段名,使用 i18n 翻译键
/// 上次更新: 修复 Slider 缺少 Material 祖先报错,改用 CupertinoSlider 适配 CupertinoPageScaffold
/// ============================================================
import 'package:flutter/cupertino.dart';
@@ -396,11 +396,12 @@ class _SliderTile extends StatelessWidget {
const SizedBox(height: 2),
Text(subtitle,
style: TextStyle(fontSize: 13, color: ext.textHint)),
Slider(
CupertinoSlider(
value: value,
min: min,
max: max,
divisions: divisions,
activeColor: ext.accent,
onChanged: onChanged,
),
],