优化文本选择样式

This commit is contained in:
jyuesong
2022-01-24 09:07:26 +08:00
parent a83206bf4b
commit 04de960c0f
6 changed files with 156 additions and 151 deletions

View File

@@ -1,3 +1,5 @@
import 'dart:ui';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
@@ -312,6 +314,8 @@ class EnvDetailCell extends ConsumerWidget {
child: SelectableText(
desc!,
textAlign: TextAlign.right,
selectionHeightStyle: BoxHeightStyle.max,
selectionWidthStyle: BoxWidthStyle.max,
onTap: () {
if (taped != null) {
taped!();

View File

@@ -1,3 +1,5 @@
import 'dart:ui';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
@@ -302,6 +304,8 @@ class DependencyCell extends ConsumerWidget {
: CupertinoScrollbar(
child: SelectableText(
bean.log!.join("\n"),
selectionHeightStyle: BoxHeightStyle.max,
selectionWidthStyle: BoxWidthStyle.max,
),
),
),

View File

@@ -1,3 +1,5 @@
import 'dart:ui';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
@@ -41,6 +43,8 @@ class _TaskLogDetailPageState extends ConsumerState<TaskLogDetailPage> with Lazy
),
child: SelectableText(
(content == null || content!.isEmpty) ? "暂无数据" : content!,
selectionHeightStyle: BoxHeightStyle.max,
selectionWidthStyle: BoxWidthStyle.max,
),
),
);

View File

@@ -1,4 +1,5 @@
import 'dart:async';
import 'dart:ui';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
@@ -68,6 +69,8 @@ class _InTimeLogPageState extends State<InTimeLogPage> {
: CupertinoScrollbar(
child: SelectableText(
content!,
selectionHeightStyle: BoxHeightStyle.max,
selectionWidthStyle: BoxWidthStyle.max,
),
),
);

View File

@@ -1,3 +1,5 @@
import 'dart:ui';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
@@ -14,8 +16,7 @@ class TaskDetailPage extends ConsumerStatefulWidget {
final TaskBean taskBean;
final bool hideAppbar;
const TaskDetailPage(this.taskBean, {Key? key, this.hideAppbar = false})
: super(key: key);
const TaskDetailPage(this.taskBean, {Key? key, this.hideAppbar = false}) : super(key: key);
@override
_TaskDetailPageState createState() => _TaskDetailPageState();
@@ -69,13 +70,11 @@ class _TaskDetailPageState extends ConsumerState<TaskDetailPage> {
),
TaskDetailCell(
title: "创建时间",
desc:
Utils.formatMessageTime(widget.taskBean.created ?? 0),
desc: Utils.formatMessageTime(widget.taskBean.created ?? 0),
),
TaskDetailCell(
title: "更新时间",
desc:
Utils.formatGMTTime(widget.taskBean.timestamp ?? ""),
desc: Utils.formatGMTTime(widget.taskBean.timestamp ?? ""),
),
TaskDetailCell(
title: "任务定时",
@@ -83,14 +82,11 @@ class _TaskDetailPageState extends ConsumerState<TaskDetailPage> {
),
TaskDetailCell(
title: "最后运行时间",
desc: Utils.formatMessageTime(
widget.taskBean.lastExecutionTime ?? 0),
desc: Utils.formatMessageTime(widget.taskBean.lastExecutionTime ?? 0),
),
TaskDetailCell(
title: "最后运行时长",
desc: widget.taskBean.lastRunningTime == null
? "-"
: "${widget.taskBean.lastRunningTime ?? "-"}",
desc: widget.taskBean.lastRunningTime == null ? "-" : "${widget.taskBean.lastRunningTime ?? "-"}",
),
GestureDetector(
behavior: HitTestBehavior.opaque,
@@ -208,8 +204,7 @@ class _TaskDetailPageState extends ConsumerState<TaskDetailPage> {
behavior: HitTestBehavior.opaque,
onTap: () {
Navigator.of(context).pop();
Navigator.of(context)
.pushNamed(Routes.routeAddTask, arguments: widget.taskBean);
Navigator.of(context).pushNamed(Routes.routeAddTask, arguments: widget.taskBean);
},
child: Container(
padding: const EdgeInsets.symmetric(
@@ -361,16 +356,12 @@ class _TaskDetailPageState extends ConsumerState<TaskDetailPage> {
}
void enableTask() async {
await ref
.read(taskProvider)
.enableTask(widget.taskBean.sId!, widget.taskBean.isDisabled!);
await ref.read(taskProvider).enableTask(widget.taskBean.sId!, widget.taskBean.isDisabled!);
setState(() {});
}
void pinTask() async {
await ref
.read(taskProvider)
.pinTask(widget.taskBean.sId!, widget.taskBean.isPinned!);
await ref.read(taskProvider).pinTask(widget.taskBean.sId!, widget.taskBean.isPinned!);
setState(() {});
}
@@ -419,8 +410,7 @@ class _TaskDetailPageState extends ConsumerState<TaskDetailPage> {
maxLines: 1,
style: const TextStyle(overflow: TextOverflow.ellipsis),
),
content: InTimeLogPage(
widget.taskBean.sId!, widget.taskBean.status == 0),
content: InTimeLogPage(widget.taskBean.sId!, widget.taskBean.status == 0),
actions: [
CupertinoDialogAction(
child: Text(
@@ -487,22 +477,22 @@ class TaskDetailCell extends ConsumerWidget {
child: SelectableText(
desc!,
textAlign: TextAlign.right,
selectionHeightStyle: BoxHeightStyle.max,
selectionWidthStyle: BoxWidthStyle.max,
onTap: () {
if (taped != null) {
taped!();
}
},
style: TextStyle(
color:
ref.watch(themeProvider).themeColor.descColor(),
color: ref.watch(themeProvider).themeColor.descColor(),
fontSize: 14,
),
),
),
)
: Expanded(
child:
Align(alignment: Alignment.centerRight, child: icon!),
child: Align(alignment: Alignment.centerRight, child: icon!),
),
],
),