flutter - 右侧的TextFormfield
问题描述
class VitalWidget extends StatelessWidget {
VitalWidget({
this.vitalType,
this.unit,
this.initialValue,
Key key,
}) : super(key: key);
final String vitalType;
final String unit;
final String initialValue;
@override
Widget build(BuildContext context) {
return Column(
children: [
Row(
children: [
Padding(
padding: const EdgeInsets.only(left: 40),
child: Text(
vitalType,
style: TextStyle(fontSize: 15),
),
),
Row(
children: [
SizedBox(
width: 90,
child: Align(
alignment: Alignment.centerRight,
child: TextFormField(
initialValue: initialValue,
textAlign: TextAlign.center,
inputFormatters: [FilteringTextInputFormatter.digitsOnly],
decoration: const InputDecoration(),
),
),
),
Text(unit),
],
),
],
),
],
);
}
}
我知道这不是一件难事,但我已经坚持了一段时间。有没有办法在屏幕右侧制作 textformfield 和 text(unit) ?我尝试使用填充,但它们彼此不一致,并且在不同的屏幕上看起来很奇怪。它很简单,但我无法弄清楚
解决方案
您可以简单地Spacer
在Row
小部件中使用。实际上,Spacer
它占用了屏幕上的所有可用空间。你可以这样做:
class VitalWidget extends StatelessWidget {
VitalWidget({
this.vitalType,
this.unit,
this.initialValue,
Key key,
}) : super(key: key);
final String vitalType;
final String unit;
final String initialValue;
@override
Widget build(BuildContext context) {
return Column(
children: [
Row(
children: [
Spacer(), //It will take all the available space on the left
Padding(
padding: const EdgeInsets.only(left: 40),
child: Text(
vitalType,
style: TextStyle(fontSize: 15),
),
),
Row(
children: [
SizedBox(
width: 90,
child: Align(
alignment: Alignment.centerRight,
child: TextFormField(
initialValue: initialValue,
textAlign: TextAlign.center,
inputFormatters: [FilteringTextInputFormatter.digitsOnly],
decoration: const InputDecoration(),
),
),
),
Text(unit),
],
),
],
),
],
);
}
}
推荐阅读
- c# - 如何使我的 fluent API 表可公开访问?
- iframe - DocuSign 嵌入 url 未在 iFrame 中呈现
- java - 调用 String replace() 时出现 IndexOutOfBounds 异常
- java - 如何在给定时间的下一小时内获得随机时间?
- c++ - 在 C++ 中生成任意嵌套的向量
- java - 为什么不允许使用instanceof,但泛型中允许使用Class.isInstance()?
- ruby - 不是类变量,但可能是实例变量——但在什么上?
- reactjs - 如何测试函数是否在功能性 React 组件中调用 onChange?
- javascript - How do I use a drupal views field value as Javascript Variable
- git - Git 的 @{upstream} 和 @{push} 有何不同?