flutter - 我们可以在 Flutter 中创建一个新的小部件吗?
问题描述
作为 Flutter 的新手,我注意到它提供了很多可供选择的小部件。但我的问题是:我们可以自己做吗?例如,我可以自己制作尚未提供的按钮吗?
解决方案
是的,您可以创建自己的小部件。例如,如上所述,您可以使用如下代码创建自定义按钮。
您在构造函数中看到的属性
OutlineButton
使用红色背景颜色、32 像素的圆形边框半径和文本构建按钮。这也是其中的一个onPressed
功能,当您按下按钮时会执行;在下面的示例中,按下按钮后将语句打印到控制台I pressed it
。
Widget _buildButton(BuildContext context){
return OutlineButton(
onPressed: (){
print('I pressed it');
},
color: Colors.red,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(32.0)),
child: Text('CUSTOM BUTTON'),
);
}
您还可以将按钮包装在一个ButtonTheme
小部件中,该小部件为您提供多种功能,其中之一是根据您需要的大小缩放按钮。
Widget _buildButton(BuildContext context){
return ButtonTheme(
height: 100,
minWidth: 100,
child: OutlineButton(
onPressed: (){},
color: Colors.red,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(32.0)),
child: Text('CUSTOM BUTTON'),
),
);
}
推荐阅读
- python - 如何在 python 中读取转储文件,然后列出其文件?
- python - 如何使数据库中的值成为可以调用的通用变量
- powerbi - 用于在客户 ID 级别(DAX、PowerBI)标记存在任何 1 个调查类型的条件列
- php - Angular/Laravel - 得到“没有模型 [App\Models\User] 的查询结果”错误
- sorting - 使用在 SQL Server 中使用 ADO.NET 存储过程的 Web API 的 ASP.NET Core MVC 分页、排序、过滤的最佳方法?
- python - 根据列中的颜色将熊猫数据透视表可视化为条形图
- php - 在对更新的每一行进行批量更新后添加撇号
- html - Angular:动态渲染任何输入组件?
- python - 区分 odoo 中的操作是手动的还是自动的
- python - 这不会改变 Pong 中桨的位置