使用ListTile ThreeLines时会颤动,我不知道如何使用ThreeLines
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: Scaffold(
appBar: AppBar(
title: Text('ddd'),
),
body:Container(
child: Column(
children: <Widget>[
ListTile(
isThreeLine: true,
leading: Icon(Icons.event_note),
title: Text('Title 1'),
// subtitle: Text('Title2'),
subtitle: Column(
children: <Widget>[
Text('Titile2'),
Text('Title 3'),
Text('Title 4'),
Text('and so on')
],
),
)
],
),
) ,
),
);
}
}
当我删除isThreeLines时,代码还可以
谢谢
答案 0 :(得分:4)
subtitle的值(可选)将占用空间 分配给另一行文本,如果isThreeLine则分配两行 是真的。
这基本上意味着subtitle
中的ListTile
拥有更多空间来容纳长度超过一行的文本:
答案 1 :(得分:1)
默认情况下,颤振中的ListTile只能显示2行。标题和子标题。如果要显示第三行文本,则isThreeLine设置为true,并且可以允许出现另一行。字幕将负责提供第三行文字。可以预期的是,如果isThreeLine设置为true,则字幕应为非null。
答案 2 :(得分:0)
默认情况下,flutter 中的 ListTile 只能显示 2 行。标题和副标题。如果要显示第三行文本,则将 isThreeLine 设置为 true 并允许显示另一行。副标题将负责给出第 3 行文本。预计,如果 isThreeLine 设置为 true,则副标题应为非空。副标题内“\n”之后的任何内容都会出现在下一行
ListTile(
title: Text("First Line",
style: TextStyle(fontWeight: FontWeight.bold)),
subtitle: Text("Second One Text "\nThis is Line Third Text"),
isThreeLine: true,
trailing: Row(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
GestureDetector(
child: Icon(Icons.delete,color: Colors.red,),
onTap: () {
},
),
],
),
onTap: (){},
)