Flutter ListTile - Flutter每週一組件

flutter_week

該文章屬於【Flutter每週一組件】系列,其它組件能夠查看該系列下的文章,該系列會不間斷更新;全部組件的demo已經上傳值Github: https://github.com/xj124456/flutter_widget_demo 歡迎Star前端

博客:思否, 掘金, 知乎, 簡書, 慕課, CSDN, 博客園, DX前端
公衆號:DX前端框架知識庫
聯繫我:公衆號菜單點擊聯繫我git

使用場景

  1. 組件解釋:固定高度的單個行,一般包含一些文本以及前導或尾隨圖標。
  2. 當須要給一個列表list的時候,你能夠用ListTile來實現,它能夠將元素一行一行的展現出來,而且你能夠給每一個元素綁定事件,一個ListTile就是一行

預覽

組件參數說明

const ListTile({
    Key key,
    this.leading, //左側的組件
    this.title, //中間的主標題
    this.subtitle, //中間的副標題
    this.trailing, //右側組件,一般是一個值或者一個圖標
    this.isThreeLine = false, //是否顯示三行
    this.dense, //是否以垂直密集的方式顯示,這樣文字會更小
    this.visualDensity,
    this.shape, //定義外觀形狀
    this.contentPadding, //內容與邊框之間的邊距,默認16
    this.enabled = true, //是否能夠互動事件
    this.onTap, //點擊事件
    this.onLongPress, //長按事件
    this.mouseCursor, //鼠標懸停在ListTile上時的處理效果,給web用的
    this.selected = false, //若是是true,文本和圖標將會以相同的顏色呈現
    this.focusColor, 
    this.hoverColor, //指針懸停在ListTile上的顏色
    this.focusNode, //聚焦事件
    this.autofocus = false, //是否默認聚焦
    this.tileColor, //listTile的背景顏色,selected=false時生效
    this.selectedTileColor, //listTile的背景顏色,selected=true時生效
  })

案例代碼

Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Row(
          mainAxisAlignment: MainAxisAlignment.spaceBetween,
          children: [
            Text('Flutter ListTile'),
            Text(
              'Flutter每週一組件(by DX前端)',
              style: TextStyle(
                fontSize: 12.0,
              ),
            )
          ],
        ),
      ),
      body: Center(
          child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          ListTile(
            leading: Icon(Icons.graphic_eq),
            title: Text('這是主標題'),
            trailing: Icon(Icons.chevron_right),
          ),
          Divider(),
          ListTile(
            leading: Icon(Icons.waves),
            title: Text('這是主標題'),
            subtitle: Text('這是副標題'),
            trailing: Icon(Icons.chevron_right),
          ),
          Divider(),
          ListTile(
            leading: Icon(Icons.ballot),
            title: Text('這是主標題'),
            // isThreeLine: true, //文字超出後會默認換行
            subtitle: Text('這是副標題兩行,這是副標題兩行,這是副標題兩行,這是副標題兩行,這是副標題兩行'),
            trailing: Icon(Icons.chevron_right),
          ),
          Divider(),
        ],
      )),
    );
  }

以爲有用 ?喜歡就收藏,順便點個贊吧,你的支持是我最大的鼓勵!微信搜公衆號 [DX前端框架知識庫],發現更多Vue, React, Flutter, Uniapp, Nodejs, Html/Css等前端知識和實戰.github

DX前端,分享前端框架知識庫,文章詳見:DX前端web

關注DX前端

相關文章
相關標籤/搜索