赞
踩
- //基础格式。Text组件
- import 'package:flutter/material.dart';
-
- void main() {
- runApp(MyApp());
- }
-
- class MyApp extends StatelessWidget {
- @override
- Widget build(BuildContext context) {
- return MaterialApp(
- title: 'Text Widgetdddddd',
- home: Scaffold(
- body: Center(
- child: Text(
- 'Heldlo Widgesteldlo Widgesteldlo Widgesteldlo Widgesteldlo Widgesteldlo Widgesteldlo Widgesteldlo Widgesteldlo Widgesteldlo Widgesteldlo Widgesteldlo Widgesteldlo Widgesteldlo Widgesteldlo Widgesteldlo Widgesteldlo Widgesteldlo Widgesteldlo Widgesteldlo Widgesteldlo Widgesteldlo Widgesteldlo Widgesteldlo Widgesteldlo Widgest',
- textAlign: TextAlign.center,
- maxLines: 1,
- overflow: TextOverflow.ellipsis,
- style: TextStyle(
- fontSize: 25.0, color: Color.fromARGB(255, 255, 127, 127)),
- ),
- ),
- ));
- }
- }
TextAlign属性:对齐方式
三个对齐方式,left(左对齐)、center(居中对齐)、right(右对齐)
overflow属性:overflow属性是用来设置Text文本组件文本溢出时处理的方式
style属性 :设置大小,颜色,下划线等
Container(容器控件)在Flutter是经常使用的控件,它就相当于我们HTML里的<div>
标签,能设置padding,margin,高度,border,内容的对齐方式等
- Container(
- margin: EdgeInsets.all(ScreenUtil().setSp(48)),
- height: ScreenUtil().setSp(400),
- decoration: BoxDecoration(
- color: BG_WIDGET_COLOR,
- borderRadius: BorderRadius.circular(ScreenUtil().setSp(16)),
- boxShadow: [
- BoxShadow(
- color: COMMON_FONT_COLOR,
- offset: Offset(0.0, 0.0), //阴影xy轴偏移量
- blurRadius: 6.0, //阴影模糊程度
- spreadRadius: 1.0 //阴影扩散程度
- )
- ]
- ),
- child: SizedBox();
- )
- Image.asset(
- 'images/no_data.png',
- width: ScreenUtil().setWidth(512),
- height: ScreenUtil().setHeight(512),
- color: SELECTED_FONT_COLOR,
- ),
加入图片的几种形式
fit属性可以控制图片的拉伸和挤压
repeat属性
ImageRepeat.repeat : 横向和纵向都进行重复,直到铺满整个画布。
ImageRepeat.repeatX: 横向重复,纵向不重复。
ImageRepeat.repeatY:纵向重复,横向不重复。
实现列表结构,直接使用按简单列表排序
ListTile 是Flutter 给我们准备好的widget 提供非常常见的构造和定义方式,包括文字,icon,点击事件,一般是能够满足基本需求,但是就不能自己定义了
builder 顾名思义 构造 可以非常方便的构建我们自己定义的child布局,所以在Flutter中非常的常用。
常用就这俩种。其他属性可自行查看
Row(水平布局控件)、Column(垂直布局控件)
Column和Row,顾名思义一个是水平排列和垂直排列其内部children widget,
借鉴了Web中Flex布局,所以很多属性和表现,都跟其相似。
MainAxisAlignment:主轴方向上的对齐方式,会对child位置起作用,默认是start;
MainAxissSize:在主轴方向占有空间的值,默认是max。(max、min);
CrossAxisAlignment:children在交叉轴方向的对齐方式,
Row和Column源码就一个够着函数,具体的实现全部都是在他们的父类Flex中
Flex构造函数:
- Flex({
- Key key,
- @required this.direction,
- this.mainAxisAlignment = MainAxisAlignment.start,
- this.mainAxisSize = MainAxisSize.max,
- this.crossAxisAlignment = CrossAxisAlignment.center,
- this.textDirection,
- this.verticalDirection = VerticalDirection.down,
- this.textBaseline,
- List<Widget> children = const <Widget>[],
- })
其中direction是控制水平还是垂直的,当为Axis.horizontal的时候,则是Row,当为Axis.vertical的时候,则是Column。
Expanded是用于展开Row,Column或Flex的子child的Widget。 使用Expanded可以使[Row],[Column]或[Flex]的子项扩展以填充主轴中的可用空间。
Row、Column、Flex会被Expanded撑开,充满主轴可用空间。
- Row(
- children: <Widget>[
- Container( /// 此组件在主轴方向占据48.0逻辑像素
- width: 48.0
- ),
- Expanded(
- child: Container() /// 此组件会填满Row在主轴方向的剩余空间,撑开Row
- )
- ]
- )
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。