12 | 经典控件(一):文本、图片和按钮在Flutter中怎么用?
12 | 经典控件(一):文本、图片和按钮在Flutter中怎么用?
讲述:陈航
时长12:02大小11.01M
文本控件
图片
按钮
总结
思考题
赞 4
提建议
精选留言(21)
- 小米2019-07-25Button都是由RawMaterialButton承载视觉,Image都是RawImage,Text是RichText。它们都继承自RenderObjectWidget,而RenderObjectWidget的父类就是Widget。
作者回复: 赞
共 3 条评论34 - 欢2019-08-22老师,我想问下,不同手机的分辨率不同,对于同样是fontSize: 16的字号,显示的大小会不一样,这个问题一般会怎么处理。 问了下原生的开发,他们好像有库专门处理这类问题,而web中也有rem之类或其他的处理方式, flutter中我就不知道该怎么办了,求老师解答。
作者回复: 有两种方案: 1.根据屏幕宽度大小,把布局分为手机和平板两种实现,手机展示普通单页布局,平板可以展示双页布局。具体可以参考第33节 2.以iPhone 6的尺寸为基准,定义缩放比例宽高系数,在布局的时候,可以考虑用上这两个系数去设置宽高
16 - 巫山老妖2019-10-03**Text** > 比如Android中的TextView,iOS中的UILabel Text参数分类: - **控制整体文本布局的参数** - textAlign - textDirection - maxLines - overflow - ... - **控制文本展示样式的参数** - fontFamily - fontSize - color - shadows 通过TextSpan来对Text继续分片样式处理。 **Image** > 比如Android中的ImageView,iOS里的UIImageView - 加载本地资源图片 - 加载本地图片 - 加载网络图片 高级版本的Image - FadeInImage(支持占位图、加载动态等) - CacheNetworkImage(支持缓存到文件系统,更加强大的加载过程占位和加载错误占位) **按钮** - FloatingActionButton(圆形的按钮) - FlatButton(扁平化的按钮) - RaisedButton(凸起的按钮) 两个最重要的参数: - onPressed(用于设置点击回调) - child(用于设置按钮的内容)展开
作者回复: 赞👍
10 - 刘洪林2021-05-02老师,浮动按钮和扁平按钮 v1.26.0-18.0后被废弃了,是不是应该更新一下课件 FlatButton => TextButton RaisedButton => ElevatedButton9
- 杨闯2019-07-25你好,我在使用控件的时候有一个疑问:对于一个字符串,我想在定宽的时候计算出它将会占据多大的高度,因为我们现在的项目是要根据高度进行特殊的处理,不知道您是否有什么解决办法
作者回复: 可以用TextPainter来计算,具体使用方法可以参看auto_size_text这个库
7 - 我想静静2019-08-17在用Text或者Icon控件显示竖直方向居中时总会有一点偏下,设置了各种属性都没有修正,最后还是给控件加了paddingBottom强行改变了内容区域的空间才正常,这是什么原因?
作者回复: 一般来说跟文字排版中的baseline和decent有关系,你可以设置下面的属性把border都画出来看看问题出在哪儿 import 'package:flutter/rendering.dart'; main() { debugPaintLayerBordersEnabled=true; debugPaintBaselinesEnabled=true; runApp(MyApp()); }
5 - 李耀2019-07-29flutter 打包之后就简单一个页面,apk包感觉比正常的大号好多
作者回复: 因为需要带渲染引擎,Dart VM和一堆库呀
3 - 烘哄轰、2019-08-03Image.asset(‘images/logo.png’);的路径需要在配置文件里配置,当时被这个问题坑了好久😂
作者回复: 下周二会讲flutter中的资源管理
2 - 江宁彭于晏2019-07-25Text、Image、FadeInImage、FlatButton、RaisedBUTTON 都由SingleChildRenderObjectWidget承载视觉 并且这些Widget都隐式的定义了 Semantics ,因为他们可能都直接或者间接的在 Screen Reader 引擎中被使用
作者回复: 赞
2 - 许先森2020-09-15Text->RichText->LeafRenderObjectWidget->RenderObjectWidget->Widget Image->RawImage->LeafRenderObjectWidget->RenderObjectWidget->Widget Button->RawMaterialButton->Semantics->SingleChildRenderObjectWidget->RenderObjectWidget->Widget2
- 小菜鸟学php2020-06-04感谢老师,讲的真是太好了,上个月用flutter做了一个app, 基本就是用组件堆出来的,对flutter理解并不深刻。 跟着老师一路学下来,对flutter有了整体的认识,理解更加深刻了!1
- 🌻Arvin2019-08-06FlatButton( color: Colors.yellow, // 设置背景色为黄色 shape:BeveledRectangleBorder(borderRadius: BorderRadius.circular(20.0)), // 设置斜角矩形边框 colorBrightness: Brightness.light, // 确保文字按钮为深色 onPressed: () => print('FlatButton pressed'), child: Row(children: <Widget>[Icon(Icons.add), Text("Add")],) ); 好像是版本更新了,背景色color细化成backgroundColor展开
作者回复: 看了下FlatButton和MaterialButton的源码,没改动呀 https://github.com/flutter/flutter/blob/master/packages/flutter/lib/src/material/material_button.dart https://github.com/flutter/flutter/blob/dev/packages/flutter/lib/src/material/flat_button.dart
1 - 李克勤2021-08-16widget,yyds
- ..。野人2020-06-22老师,如果richText中多个片断高度不一样,怎么设置对齐方式?试过alignment: PlaceholderAlignment.top不生效
- 大土豆2020-04-30老师,我们现在美术只输出3倍图,怎么才能做到资源只放3倍图的文件夹项目就可以用了。。。现在我在项目里面得在image文件夹和image/3.0x文件夹放一模一样的图,然后图片引用image的路径,太麻烦了共 1 条评论
- Geek_6b80e02020-04-20button是通过继承RawMaterialButton来实现视觉,RawMaterialButton是statefull的,主要用来存储点击效果反应的改变。
- 🐑郑星星2020-01-11Colors爆红,说是没有定义怎么办
- sixgod2019-11-20老师有个问题 为什么container或者sizedbox有时候设置宽高不生效 在外面包裹一个align就生效了
作者回复: 关于Container布局,可以参考这篇文章:https://limboy.me/tech/2019/01/11/flutter-layout.html
- 微笑美男😄2019-10-10老师 怎么加载本地的图片。我设置好了之后 在pubspec.yaml中一直报警告,The asset images/fapiaoshenhe.png does not exist. Try creating the file or fixing the path to the file. 但是感觉设置的没错啊。有专门讲的没
作者回复: 检查一下你的声明方式,以及空格缩进
- jlj2019-08-16老师请教个问题: fontSize要怎么设置, 才能让字体大小不随系统字体大小改变而改变.?
作者回复: 试试Text的textScaleFactor属性