Dart 如何在SingleChildScrollView中添加或启用位置指示器
我的多行Dart 如何在SingleChildScrollView中添加或启用位置指示器,dart,flutter,Dart,Flutter,我的多行文本字段需要一个滚动位置指示器,它被包装在SingleChildScrollView中 文本字段中的文本比可见的多,我不清楚是否隐藏了一些文本及其隐藏位置(顶部或底部) 这是Whatsup。文本字段显示一个滚动条。我也想做同样的事情。 只需将文本字段小部件包装在滚动条小部件中即可 例如: new Container( height: 100.0, child: new Scrollbar( child: new TextField( maxLines: nu
文本字段
需要一个滚动位置指示器,它被包装在SingleChildScrollView
中
文本字段中的文本比可见的多,我不清楚是否隐藏了一些文本及其隐藏位置(顶部或底部)
这是Whatsup。文本字段显示一个滚动条。我也想做同样的事情。
只需将
文本字段
小部件包装在滚动条
小部件中即可
例如:
new Container(
height: 100.0,
child: new Scrollbar(
child: new TextField(
maxLines: null,
)
),
)
有关滚动条小部件的更多信息,请查看文档
希望有帮助 感谢上面的回答:SingleChildScrollView
结合LayoutBuilder和约束:new-BoxConstraints:
Widget _renderTextField() => new LayoutBuilder(
builder: (context, constraints) => new Column(children: <Widget>[
new Container(
child: new Container(
margin: const EdgeInsets.only(
right: 5.0,
),
child: new Container(
constraints: new BoxConstraints(maxHeight: 200.0,
maxWidth: constraints.maxWidth),
child: new Scrollbar(child: new SingleChildScrollView(
scrollDirection: Axis.vertical,
reverse: true,
child: new TextField(...
Widget\u renderTextField()=>new LayoutBuilder(
生成器:(上下文,约束)=>新列(子项:[
新容器(
子容器:新容器(
边距:仅限常量边集(
右图:5.0,
),
子容器:新容器(
约束:新框约束(最大高度:200.0,
maxWidth:约束。maxWidth),
子项:新建滚动条(子项:新建SingleChildScrollView(
滚动方向:轴垂直,
相反:是的,
子项:新文本字段(。。。
我创建了一个对话框,其中包含一个窗体和一个宽度和高度分别为450和500的子容器。我使用layoutbuilder创建了一个textboxform,最大高度为200,带有滚动条和singlechildscrollview。该行被展开以占据小部件的所有宽度。我有两个包含操作的材质按钮
String _myvalue;
final _myTextController = TextEditingController();
final _formKey = GlobalKey<FormState>();
final _scrollController = ScrollController();
Widget build(BuildContext context) {
return Dialog(
child: Form(
key: _formKey,
autovalidateMode: AutovalidateMode.disabled,
child: Container(
width: 450,
height: 500,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: <Widget>[
Align(
alignment: Alignment.center,
child: Text(
"Some Text",
style: Head2Style,
),
),
Divider(height: 50),
LayoutBuilder(
builder: (context, constraints) => Container(
constraints: new BoxConstraints(
maxHeight: 200.0,
maxWidth: constraints.maxWidth),
child: Scrollbar(
isAlwaysShown: true,
controller: _scrollController,
child: SingleChildScrollView(
controller: _scrollController,
child: SizedBox(
width: 400,
child: TextFormField(
decoration: InputDecoration(
icon: Icon(Icons.note),
hintText: "My Text"),
autocorrect: true,
controller: _myTextController,
keyboardType:
TextInputType.multiline,
maxLines: null,
maxLength: 1000,
onChanged: (String value) {
setState(() {
_myvalue = value;
});
})))))),
Expanded(
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
ElevatedButton(
onPressed: () {
if (_formKey.currentState.validate()) {
_do_something(context);
}
},
child: Text("Do something"),
),
ElevatedButton(
onPressed: () {
Navigator.of(context).pop();
},
child: Text("Cancel"),
)
],
)),
])//column
)//container
)//form
)//dialog;
}
String\u myvalue;
final _myTextController=TextEditingController();
final _formKey=GlobalKey();
final _scrollController=scrollController();
小部件构建(构建上下文){
返回对话框(
孩子:表格(
键:_formKey,
autovalidateMode:autovalidateMode.disabled,
子:容器(
宽度:450,
身高:500,
子:列(
crossAxisAlignment:crossAxisAlignment.start,
mainAxisAlignment:mainAxisAlignment.spaceAround,
儿童:[
对齐(
对齐:对齐.center,
子:文本(
“一些文字”,
样式:头2样式,
),
),
分隔器(高度:50),
布局生成器(
生成器:(上下文、约束)=>容器(
约束:新的BoxConstraints(
最大高度:200.0,
maxWidth:约束。maxWidth),
子:滚动条(
伊莎韦肖恩:没错,
控制器:\ u滚动控制器,
子:SingleChildScrollView(
控制器:\ u滚动控制器,
孩子:大小盒子(
宽度:400,
子项:TextFormField(
装饰:输入装饰(
图标:图标(Icons.note),
hintText:“我的文本”),
自动更正:正确,
控制器:_myTextController,
键盘类型:
TextInputType.multiline,
maxLines:null,
最大长度:1000,
onChanged:(字符串值){
设置状态(){
_我的价值=价值;
});
})))))),
扩大(
孩子:排(
mainAxisAlignment:mainAxisAlignment.end,
crossAxisAlignment:crossAxisAlignment.end,
儿童:[
升降按钮(
已按下:(){
if(_formKey.currentState.validate()){
_做某事(上下文);
}
},
孩子:文本(“做某事”),
),
升降按钮(
已按下:(){
Navigator.of(context.pop();
},
子项:文本(“取消”),
)
],
)),
])//纵队
)//容器
)//形式
)//对话;
}
Example?不清楚上面的文本字段有很多行内容,但只有几行可见。为了让用户了解更多的内容,我想在文本字段的右侧站点上显示一个滚动条。