iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0
Mobile Development

初窺Flutter系列 第 15

Positioned(層疊定位)

  • 分享至 

  • xImage
  •  

層疊定位是使用Stack(堆疊)小部件來將多個小部件堆疊在一起,並使用Positioned小部件來確定它們在屏幕上的位置。這種佈局方法,可以自由地將子widgets放置在屏幕上的任何位置。

相較前面Stack所寫的對齊屬性,定義的位置更明確。

範例程式碼

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('層疊布局練習'),
        ),
        body: Center(
          child: Stack(
            children: <Widget>[
              // 放置圖像
              Image.asset(
                'assets/images/image.png',
                width: 300.0, // 設置圖像寬度,根據需求調整
                height: 300.0, // 設置圖像高度,根據需求調整
              ),
              // 使用Positioned定位文字
              Positioned(
                top: 100.0, // 距離父層疊的頂部距離
                left: 100.0, // 距離父層疊的左側距離
                child: Text(
                  '層疊練習',
                  style: TextStyle(
                    fontSize: 25.0,
                    color: Colors.purple,
                  ),
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

結果
https://ithelp.ithome.com.tw/upload/images/20230930/20162684VerpzDqmi3.png

如果在Positioned中沒有設定top、left,會默認在父疊層的左上
https://ithelp.ithome.com.tw/upload/images/20230930/20162684LapgxSUu1D.png


上一篇
Card(卡片)
下一篇
Buttom (按鈕)
系列文
初窺Flutter30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言