例如,您可能更喜欢ListTile,而不是Row,而ListTile是一个易于使用的小部件,具有前导和尾随图标属性以及最多3行文本。...Material Components Card: 将相关信息组织成带有圆角和投影的盒子。 ListTile: 将最多3行文本,以及可选的前导和训练图标组合成一行。...您可以通过将整个布局放入Container并更改其背景颜色或图像来更改设备的背景。...Flutter代码:来自Flutter Gallery的cards_demo.dart ListTile 使用ListTile是Material Components库中的一个专门的行小部件,用于创建包含最多...3行文本和可选的前导和尾随图标的行。
最简单的办法就是将其使用GestureDetector包装起来,如下所示: GestureDetector( // The custom button child: Container...那么有没有可能模拟手指的按压效果呢? 答案是肯定的,flutter为我们提供了一个InkWell组件,这样手指按压下组件会产生波纹的效果。...,这里onTap选择展示一个flutter自带的SnackBar。...flutter提供了一个Dismissible的组件来实现这个效果。...现在Dismissible实际上就可以工作了,当你滑动ListTile的时候,对应的item就会被删除。
Material Components Card 将一些相近的信息装进一个有圆角和阴影的盒子里。 ListTile 一个Row中装载最多3行文字;可选则在前面或尾部添加图标。...可以把整个layout放进container里面,然后改变背景颜色或图片。...Container 小结: 添加 padding, margins, 和边界(borders) 能够更好背景颜色和图片 包含一个单独的子widget,这个子widget可以是Row、Column或一个widget...默认情况下,Card把自己的尺寸缩小为0像素。可以用SizedBox来指定card的尺寸。 Flutter中的Card有圆角和阴影效果。修改elevation可改变阴影效果。...ListTile 来自Material组件库的横向组件。可自定义3行文字及其可选的头尾图标。 此控件常与Card或ListView一起用。
值的类型为Widget; 代码示例: import "package:flutter/material.dart"; class CategoryPage extends StatefulWidget...抽屉头 DrawerHeader 常见的属性如下: 1. decoration 装饰。可用于设置背景颜色和图片,值的类型为BoxDecoration; 2. child 子组件。...值的类型为Widget; 代码示例: import "package:flutter/material.dart"; class CategoryPage extends StatefulWidget...可用于设置背景颜色和图片,值的类型为BoxDecoration; 2. accountName 账号名称。值的类型为Text; 3. accountEmail 账号邮箱。...值的类型为Widget; 代码示例: import "package:flutter/material.dart"; class CategoryPage extends StatefulWidget
最简单的办法就是将其使用GestureDetector包装起来,如下所示:GestureDetector( // The custom button child: Container...那么有没有可能模拟手指的按压效果呢?答案是肯定的,flutter为我们提供了一个InkWell组件,这样手指按压下组件会产生波纹的效果。那么InkWell和GestureDetector有什么联系呢?...,这里onTap选择展示一个flutter自带的SnackBar。...flutter提供了一个Dismissible的组件来实现这个效果。...现在Dismissible实际上就可以工作了,当你滑动ListTile的时候,对应的item就会被删除。
* 自定义TabController(上面的是默认TabController) 自定义的好处是可以在addListener中增加监听,通过setState修改状态 import 'package:flutter...print("flatbutton"); }, ), SizedBox(height: 10), //无背景色效果...child: Icon(Icons.add), onPressed: () { setState(() { //改变状态..._currentIndex, //配置对应的索引值选中 onTap: (int index) { setState(() { //改变状态...欢迎关注我的微信公众号:安卓圈
在iOS原生开发中,实现抽屉视图还是比较麻烦的,有时还需要借助第三方组件来实现。但是在Flutter中,我们利用Drawer组件就可以很轻松实现抽屉视图。...// // color: Colors.yellow,//头部背景颜色 // //头部背景图片 // image...2,配置了Scaffold的drawer属性或者endDrawer属性之后,flutter会自动帮我们在顶部导航栏的左侧或者右侧加上一个按钮,如下图所示: ?...、背景图片等。...8,可以通过配置 ListTile 的 onTap 来监听 ListTile 的点击事件。
Drawer 参数 描述 child 子组件 elevation semanticLabel DrawerHeader 参数 描述 decoration 设置顶部背景颜色 child 配置子元素...), ), ) ], ), ListTile...), title: Text('空间'), ), Divider(),//一条线 ListTile...), endDrawer: Drawer( child: Column( children: [ ListTile...为我们提供的一个通用的用户heander的组件 属性 描述 decoration 设置顶部背景颜色 accountName 账户名称 accountEmail 账户邮箱 currentaccountPicture
可以看到界面整体上是一个listView,在ListView的第二例是一个ExpansionTile,ExpansionTile的内部是多个ListTile,trailing结合自定义动画将“+”icon...旋转22.5°变成了一个“×”,并且在ExpansionTile展开时改变了icon的颜色。...代码: ---- import 'package:flutter/material.dart'; void main() { runApp(new MaterialApp( home: MyApp...接下来我们试试多个ExpansionPanel的效果 代码: ---- import 'package:flutter/material.dart'; void main() { runApp(new...实现起来还是非常的简单的,但是大家可能会发现一个问题,当有一个ExpansionPanelRadio打开时我们就没办法再去打开其他的ExpansionPanelRadio,除非先关闭这个打开的ExpansionPanelRadio
通常显示当前页面的标题文字,可以放组件 actions 通常使用IconButton来表示,可以放按钮组 bottom 通常会放TabBar,在标题下面显示一个Tab导航栏 backgroundColor 导航背景颜色...,需要将其放在MaterialApp里,Scaffold的外层。...) ], ) ), ); } } 这里提一个小知识点debugShowCheckedModeBanner可以取消flutter那个右上角debug...我们将AppBar中Tab放入我们的TabBar组件。...print(_tabController.index);//获取下标 setState(() {//进行改变 }); }); } @override Widget
在Flutter中,各种提示框、弹出框是如何实现的呢?今天我们就来聊一聊这个问题。 首先咱们来聊聊Flutter系统内置的Dialog。...Flutter系统内置的Dialog 关于Flutter系统内置的Dialog,我们可以从两个层面去讨论,一个是showDialog层面,一个是showModalBottomSheet层面。...(上、中、下) timeInSecForIos: 3,//提示框的显示时间(仅对iOS有效) backgroundColor: Colors.pink,//提示框的背景颜色 textColor...如何自定义Dialog 上面我们讲了Flutter的内置提示框,还介绍了一款flutter第三方提示组件fluttertoast,通常情况下,这些就满足我们日常开发需求了。...尽管Dialog提供了 child 参数可以用来写视图界面,但是往往会达不到我们想要的效果,因为默认的Dialog背景框是满屏的。如果我们想完全定义界面,就需要重写build函数。 以上。
在前面的文章中我们学习了Flutter中输入以及选择控件的用法,借助于这些组件大家可以完成很多常用的功能,但是他不能及时在用户操作后完成相应的界面提示,所以今天我们就会来看下Flutter中的操作提示。...在原生客户端有着几种常用的用户提醒方式,如Dialog、Snackbar、BottomSheet等,今天我们就来介绍下Flutter中几种常用的提醒方式。...构造方法: const SnackBar({ Key key, @required this.content,//内容 this.backgroundColor,//背景 this.action,//其他操作...今天我们就来介绍下这几种Dialog的用法 。 在Flutter中你可以使用ShowDialog方法来显示这些Dialog。...好吧我们改变下 的内容: children: [ new ListTile( leading: new Icon(Icons.apps), title: new Text("apps")
实现一个普通的Tab选项卡 代码示例: import 'package:flutter/material.dart'; class HomePage extends StatelessWidget {...Scaffold( appBar: AppBar( // App标题 title:Text('Flutter..., // 无论什么平台,标题都居中 centerTitle: true, // 背景颜色...实现常见App的选项卡效果 代码如下: // lib/pages/tabs/Gategory.dart import "package:flutter/material.dart"; // 分类页面...自定义带控制器Tab选项卡 代码如下: // lib/pages/tabs/Setting.dart import "package:flutter/material.dart"; // 设置页面 class
笔者项目中使用Flutter的模块并不多。虽然笔者还没有机会在项目中正式使用Flutter,但是也在学习Flutter的一些基本用法。本文就是一篇Flutter的入门介绍,后续会写更多深入介绍的文章。...三、创建一个简单的Flutter应用 接下来,我们将创建一个简单的Flutter应用,展示一个文本和一个按钮。当点击按钮时,文本内容将发生改变。...你将看到一个包含文本和按钮的简单界面。点击按钮,文本内容将发生改变。...,如填充(padding)、边距(margin)、边框(border)、背景颜色等。...例如,我们可以创建一个包含三个列表项的ListView: ListView( children: [ ListTile( leading: Icon(Icons.map
有关如何设置环境的信息,请参阅Flutter安装和设置。 第1步:创建起始Flutter应用程序 使用第一个Flutter应用程序入门中的说明创建一个简单的模板化Flutter应用程序。...lib/main.dart 第3步:添加一个有状态的小部件 无状态小部件是不可变的,这意味着它们的属性不能改变 - 所有的值都是最终的。 有状态的小部件保持在小部件的生命周期中可能改变的状态。...当心脏被轻敲时,函数调用setState()来通知框架状态已经改变。...现在,添加生成ListTile行的代码。 ListTile的divideTiles()方法在每个ListTile之间添加水平间距。...请注意,整个背景是白色的,甚至是应用栏。 3.作为读者的练习,使用ThemeData来改变UI的其他方面。
在日常的开发中,渲染列表数据,我们都比较喜欢使用 ListTile 挂件,本文,我们来认识下它。...开发环境 Flutter Version:3.16.4 系统:macOS Sonoma - Apple M1 芯片 Android Studio: 17.0.7 通过 flutter create jimmy_list_tile...this.visualDensity, // 定义列表的紧凑程度 this.shape, // 边框的形状 this.style, // ListTile 的 tile..., // 定义 tile 的背景颜色,在 selected 为 false 时生效 this.selectedTileColor, // 选中的 tile 的背景颜色,在 selected...结合 ListView 使用 ListTile 一般结合 ListView 来使用,替换 for 遍历。ListView 是用于显示列表数据的挂件。
Flutter提供了多种对话框组件供开发者使用,以下代码中演示了常见对话框的实现,供大家参考,欢迎大家复制粘贴和吐槽。...import 'package:flutter/material.dart'; // pubspec.yaml 中配置 fluttertoast: ^8.0.7 import 'package:fluttertoast...{ return MaterialApp( home: Scaffold( // 导航条 appBar: AppBar(title: Text('Flutter...); } // 确认对话框 _showAlertDialog() async { var result = await showDialog( // 表示点击灰色背景的时候是否消失弹出框...result); } // 选择对话框 _showSelectDialog() async { var result = await showDialog( // 表示点击灰色背景的时候是否消失弹出框
Flutter提供了Drawer组件;结合ListView等组件,开发者可以快速地制作出抽屉视图。...UserAccountsDrawerHeader文档请见 https://docs.flutter.io/flutter/material/UserAccountsDrawerHeader-class.html...自定义header Flutter有DrawerHeader,我们对其进行自定义。...DrawerHeader设置padding为0,充满整个顶部 DrawerHeader的child使用Stack,目的是放置背景图片 在Stack偏左下的位置放置头像和用户名 先用Align确定对齐方式为...FractionalOffset.bottomLeft Align的child为Container,并设定一个具体高度 头像与文字的Container仿照ListTile的风格,左边是一个头像,右边是文字
简介 除了通用的组件之外,flutter还提供了两种风格的特殊组件,其中在Material风格中,有一个Card组件,可以很方便的绘制出卡片风格的界面,并且还带有圆角和阴影,非常的好用,我们一起来看看吧...Card的背景颜色,如果不设置的话,会使用ThemeData.cardTheme中指定的color,如果CardTheme.color也是空的话,那么会使用ThemeData.cardColor来替代。...但是对于类似名片这种常见的应用,flutter早就为我们想好了,所以他提供了一个叫做ListTile的组件。...具体ListTile的使用,大家可以去参考具体的API,这里就不过多讲述。 这里我们只是借用ListTile来构造我们需要的效果。...总结 以上就是flutter中Card的使用了,大家可以结合ListTile一起构建更加美观和复杂的系统。
领取专属 10元无门槛券
手把手带您无忧上云