flutter - Flutter:如何为文本列表中的中间文本制作更大的字体?
问题描述
我想实现这样的目标
在这里,当用户滚动列表时,它应该将元素的字体大小调整为middle
,将bigger
其他元素的字体大小调整为smaller
。
我试过这样做,但我没有得到想要的输出,
import 'package:flutter/material.dart';
import 'dart:math' as math;
import 'package:flutter_hooks/flutter_hooks.dart';
class BloodPressureValuesWidget extends HookWidget {
final List<String> mm = ['110', '110', '110', '110', '110','110', '110', '110', '110', '110'];
final List<String> hg = ['70', '70', '70', '70', '70','70', '70', '70', '70', '70'];
final List<String> date = [
'2/12/2020',
'3/12/2020',
'4/12/2020',
'5/12/2020',
'6/12/2020',
];
final List<String> time = [
'16.10pm',
'10:30am',
'15:30pm',
'3:40am',
'15:40pm',
];
@override
Widget build(BuildContext context) {
final width = MediaQuery.of(context).size.width;
final pageController =
usePageController(keepPage: false, viewportFraction: 0.4);
return Container(
height: width * 0.27,
width: double.infinity,
margin: EdgeInsets.only(bottom: width * 0.021),
child: PageView.builder(
itemCount: 10,
scrollDirection: Axis.horizontal,
controller: pageController,
itemBuilder: (context, index) {
return AnimatedBuilder(
animation: pageController,
builder: (context, child) {
var value = 1.0;
if (pageController.position.haveDimensions) {
value = pageController.page - index;
value = (1 - (value.abs() * .5)).clamp(0.0, 1.0);
}
return Center(
child: SizedBox(
height: Curves.easeOut.transform(value) * width * 0.4,
width: Curves.easeOut.transform(value) * width * 0.25,
child: child,
),
);
},
child: Container(...), //The text container shown in the image
),
);
},
),
);
}
}
谁能告诉我我怎样才能做到这一点?
解决方案
试ListViewScrollView
课,在这里查看更多
推荐阅读
- linux - 在 sed 命令中使用管道中的 STDIN 替换文件中的值
- python - 分箱值的平均值
- arrays - 如何从 Hive 中的两个集合创建一个集合
- java - Java ConcurrentSkipListMap 的 computeIfAbsent 方法“以原子方式应用一次”
- django - 如何修复 TypeError:需要一个类似字节的对象,而不是 travis 上的 'str' 导致测试在我的本地机器上运行良好
- elasticsearch - ElasticSearch 中的路径层次标记器无法正常工作
- xcode - macOS:删除文件时的断点
- javascript - 如何在Angular中获取具有所需下拉元素的有效表单
- swashbuckle - Microsoft.OpenAPI 示例或文档?
- c# - 如何在xamarin android中更改铃声模式