flutter text 左对齐_Flutter 基础布局Widgets之Stack详解

a43ad80dfc754234c012fb2ffb9b0382.png

概述

Stack 组件是一种层叠式布局,即组件覆盖另一个组件,覆盖的顺序取决于在children中放置的顺序,使用场景比如在图片上加上一些文字描述,即将文本Widget覆盖在图片组件,详见下面的小例。

构造函数

 Stack({ Key key, this.alignment = AlignmentDirectional.topStart, this.textDirection, this.fit = StackFit.loose, this.overflow = Overflow.clip, List children = const [], })
  • alignment 子Widgets们的对齐方式
  • textDirection 文本的方向,默认当然是 left-to-right
  • fit 子Widgets的放置方式,默认loose
  • 子Widgets溢出的处理方式

一个简单的叠加效果:

import 'package:flutter/material.dart';class StackLearn extends StatelessWidget { @override Widget build(BuildContext context) { return new Scaffold( appBar: AppBar( title: Text("Stack") ), // 层叠式布局 body: Stack( // 子Widgets们的对齐方式 alignment: Alignment(1, 1), // 文本的方向,默认当然是 left-to-right textDirection: TextDirection.ltr, // fit 子Widgets的放置方式,默认loose fit: StackFit.loose, // 子Widgets溢出的处理方式 overflow: Overflow.visible, children: [ Container( width: 100, height: 100, color: Colors.red, ), Container( width: 90, height: 90, color: Colors.green, ), Container( width: 80, height: 80, color: Colors.blue, ), ], ), ); }}

叠加效果如下:

66e33b74b911852abef8732a8dc5f114.png

80C43B7C091089C8A94F3516208B5CD1.png

使用实例

class StackEx extends StatelessWidget { @override  Widget build(BuildContext context) { return new Scaffold( appBar: AppBar( title: Text('Stack Example'), ), body: Stack( alignment: const Alignment(0.6, 0.6), children: [ CircleAvatar( backgroundImage: NetworkImage('https://avatars1.githubusercontent.com/u/20992063?s=460&v=4'), radius: 100, ), Container( decoration: BoxDecoration( color: Colors.black45, ), child: Text( 'RuoData', style: TextStyle( fontSize: 20, color: Colors.white, ), ), ), ], ) ); }}

实例效果如下

910066fe183a15bb7193d399300fdd48.png

370CDC25ADDE3DD8C48D1397CAB6638C.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值