mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
fix: 无障碍体验问题
This commit is contained in:
@@ -249,13 +249,12 @@ class _DynamicDetailPageState extends State<DynamicDetailPage>
|
|||||||
scale: animation, child: child);
|
scale: animation, child: child);
|
||||||
},
|
},
|
||||||
child: Text(
|
child: Text(
|
||||||
'${_dynamicDetailController.acount.value}',
|
'${_dynamicDetailController.acount.value}条回复',
|
||||||
key: ValueKey<int>(
|
key: ValueKey<int>(
|
||||||
_dynamicDetailController.acount.value),
|
_dynamicDetailController.acount.value),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const Text('条回复'),
|
|
||||||
const Spacer(),
|
const Spacer(),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
height: 35,
|
height: 35,
|
||||||
|
|||||||
@@ -117,7 +117,8 @@ Widget videoSeasonWidget(item, context, type, {floor = 1}) {
|
|||||||
Colors.black54,
|
Colors.black54,
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
borderRadius: BorderRadius.circular(StyleString.imgRadius.x)),
|
borderRadius:
|
||||||
|
BorderRadius.circular(StyleString.imgRadius.x)),
|
||||||
child: Row(
|
child: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
crossAxisAlignment: CrossAxisAlignment.end,
|
crossAxisAlignment: CrossAxisAlignment.end,
|
||||||
@@ -131,7 +132,12 @@ Widget videoSeasonWidget(item, context, type, {floor = 1}) {
|
|||||||
color: Colors.white),
|
color: Colors.white),
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
Text(content.durationText ?? ''),
|
if (content.durationText != null)
|
||||||
|
Text(
|
||||||
|
content.durationText,
|
||||||
|
semanticsLabel:
|
||||||
|
'时长${Utils.durationReadFormat(content.durationText)}',
|
||||||
|
),
|
||||||
if (content.durationText != null)
|
if (content.durationText != null)
|
||||||
const SizedBox(width: 10),
|
const SizedBox(width: 10),
|
||||||
Text(content.stat.play + '次围观'),
|
Text(content.stat.play + '次围观'),
|
||||||
|
|||||||
@@ -214,6 +214,7 @@ class ReplyItem extends StatelessWidget {
|
|||||||
margin: const EdgeInsets.only(top: 10, left: 45, right: 6, bottom: 4),
|
margin: const EdgeInsets.only(top: 10, left: 45, right: 6, bottom: 4),
|
||||||
child: Semantics(
|
child: Semantics(
|
||||||
label: replyItem?.content?.message ?? "",
|
label: replyItem?.content?.message ?? "",
|
||||||
|
excludeSemantics: true,
|
||||||
child: Text.rich(
|
child: Text.rich(
|
||||||
style: const TextStyle(height: 1.75),
|
style: const TextStyle(height: 1.75),
|
||||||
maxLines:
|
maxLines:
|
||||||
@@ -387,48 +388,51 @@ class ReplyItemRow extends StatelessWidget {
|
|||||||
8,
|
8,
|
||||||
i == 0 && (extraRow == 1 || replies!.length > 1) ? 5 : 6,
|
i == 0 && (extraRow == 1 || replies!.length > 1) ? 5 : 6,
|
||||||
),
|
),
|
||||||
child: Text.rich(
|
child: Semantics(
|
||||||
overflow: TextOverflow.ellipsis,
|
label: replies![i].member.uname + ' ' + replies![i].content.message,
|
||||||
maxLines: 2,
|
excludeSemantics: true,
|
||||||
TextSpan(
|
child: Text.rich(
|
||||||
children: [
|
overflow: TextOverflow.ellipsis,
|
||||||
|
maxLines: 2,
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: replies![i].member.uname + ' ',
|
children: [
|
||||||
style: TextStyle(
|
TextSpan(
|
||||||
fontSize: Theme.of(context)
|
text: replies![i].member.uname + ' ',
|
||||||
.textTheme
|
style: TextStyle(
|
||||||
.titleSmall!
|
fontSize: Theme.of(context)
|
||||||
.fontSize,
|
.textTheme
|
||||||
color: Theme.of(context).colorScheme.primary,
|
.titleSmall!
|
||||||
),
|
.fontSize,
|
||||||
recognizer: TapGestureRecognizer()
|
color: Theme.of(context).colorScheme.primary,
|
||||||
..onTap = () {
|
),
|
||||||
feedBack();
|
recognizer: TapGestureRecognizer()
|
||||||
final String heroTag =
|
..onTap = () {
|
||||||
Utils.makeHeroTag(replies![i].member.mid);
|
feedBack();
|
||||||
Get.toNamed(
|
final String heroTag = Utils.makeHeroTag(
|
||||||
'/member?mid=${replies![i].member.mid}',
|
replies![i].member.mid);
|
||||||
arguments: {
|
Get.toNamed(
|
||||||
'face': replies![i].member.avatar,
|
'/member?mid=${replies![i].member.mid}',
|
||||||
'heroTag': heroTag
|
arguments: {
|
||||||
});
|
'face': replies![i].member.avatar,
|
||||||
},
|
'heroTag': heroTag
|
||||||
),
|
});
|
||||||
if (replies![i].isUp)
|
},
|
||||||
const WidgetSpan(
|
|
||||||
alignment: PlaceholderAlignment.top,
|
|
||||||
child: PBadge(
|
|
||||||
text: 'UP',
|
|
||||||
size: 'small',
|
|
||||||
stack: 'normal',
|
|
||||||
fs: 9,
|
|
||||||
),
|
),
|
||||||
),
|
if (replies![i].isUp)
|
||||||
buildContent(
|
const WidgetSpan(
|
||||||
context, replies![i], replyReply, replyItem),
|
alignment: PlaceholderAlignment.top,
|
||||||
],
|
child: PBadge(
|
||||||
),
|
text: 'UP',
|
||||||
),
|
size: 'small',
|
||||||
|
stack: 'normal',
|
||||||
|
fs: 9,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
buildContent(
|
||||||
|
context, replies![i], replyReply, replyItem),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
)),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
|||||||
Reference in New Issue
Block a user