dart - Flutter 如何使用 ListTile 三行
问题描述
Flutter 使用 ListTile ThreeLines 时,不知道如何使用 ThreeLine
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 时,代码正常
谢谢
解决方案
subtitle 的值是可选的,它将占用分配给额外一行文本的空间,如果 isThreeLine 为 true,则占用两行。
这基本上意味着 的subtitle
有ListTile
更多的空间来包含长度超过一行的文本:
推荐阅读
- c - 有没有办法在进程之间共享变量(在共享库中)?
- ios - 如何使用 StoreKit 从 Swift 中的店面获取国家代码?
- python - 无法打印出带有 $ 的字符串
- c - 玩堆栈和变量值
- performance - 为什么 pyspark 脚本的性能不会随着内核和执行器数量的增加而提高?
- google-apps-script - 从模板 Google Doc 中获取 Header 和 Footer,并应用于 Google Drive 文件夹中的所有文档
- android - Flutter 默认 FirebaseApp 在 com.viainno.homego 这个过程中没有初始化。确保首先调用 FirebaseApp.initializeApp(Context)
- azure - Microsoft.Identity.Web 和 ASP.NET Core SignalR JWT 身份验证
- winapi - 将一个窗口移动到第二个屏幕后,当我最小化同一个窗口并再次重新打开它时,它又回到了第一个监视器
- javascript - PHP 删除请求