IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Flutter 布局 -> 正文阅读

[移动开发]Flutter 布局

?

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

class Layout extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    String title = (ModalRoute.of(context)!.settings.arguments as Map)['desc'];
    // TODO: implement build
    return Scaffold(
      appBar: AppBar(
        title: Text(title),
      ),
      body: SingleChildScrollView(
        child: Container(
          alignment: Alignment.center,
          child: Column(
            children: [
              Container(
                child: SingleChildScrollView(
                  scrollDirection: Axis.horizontal,
                  child: Row(
                    children: [
                      SizedBox(
                        width: 100,
                        height: 100,
                        child: Image.network(
                            'https://file03.16sucai.com/2017/1100/16sucai_p20161116082.JPG'),
                      ),
                      ClipOval(
                        //将布局裁剪成圆形
                        child: SizedBox(
                          width: 100,
                          height: 100,
                          child: Image.network(
                              'https://file03.16sucai.com/2017/1100/16sucai_p20161116082.JPG'),
                        ),
                      ),
                      Padding(
                        padding: EdgeInsets.only(left: 10),
                        child: Opacity(
                          opacity: 0.5,
                          child: ClipOval(
                            //将布局裁剪成圆形
                            child: SizedBox(
                              width: 100,
                              height: 100,
                              child: Image.network(
                                'https://file03.16sucai.com/2017/1100/16sucai_p20161116082.JPG',
                              ),
                            ),
                          ),
                        ),
                      ),
                      SizedBox(
                        height: 100,
                        width: 100,
                        child: ClipRRect(
                          borderRadius: BorderRadius.only(
                            topRight: Radius.circular(20),
                            bottomLeft: Radius.circular(20),
                          ),
                          child: Image.network(
                            'https://file03.16sucai.com/2017/1100/16sucai_p20161116082.JPG',
                          ),
                        ),
                      )
                    ],
                  ),
                ),
              ),
              Container(
                color: Colors.white24,
                padding: EdgeInsets.all(15),
                height: 188,
                child: PhysicalModel(
                  color: Colors.white12,
                  // borderRadius: BorderRadius.circular(25),
                  //borderRadius: BorderRadius.only(topLeft: Radius.circular(30)),
                  borderRadius: BorderRadius.all(Radius.circular(30)),
                  clipBehavior: Clip.hardEdge, //裁切模式 是否裁剪
                  child: PageView(
                    children: [
                      Container(
                        color: Colors.amber,
                      ),
                      _Item(
                        title: "a",
                        color: Colors.red,
                      ),
                      _Item(
                        title: "b",
                        color: Colors.yellowAccent,
                      ),
                      _Item(
                        title: "c",
                        color: Colors.greenAccent,
                      )
                    ],
                  ),
                ),
              ),
              Divider(
                height: 20,
              ),
              Container(
                color: Color(0xffdddddd),
                height: 2,
              ),
              Column(
                children: [
                  Container(
                    //alignment: Alignment.center,
                    decoration: BoxDecoration(color: Colors.greenAccent),
                    child: Text('宽度没有撑满'),
                  ),
                  FractionallySizedBox(
                    widthFactor: 1,
                    child: Container(
                      // alignment: Alignment.center,
                      decoration: BoxDecoration(color: Colors.greenAccent),
                      child: Text(
                        '宽度撑满 FractionallySizedBox',
                        textAlign: TextAlign.center,
                      ),
                    ),
                  ),
                  FractionallySizedBox(
                    widthFactor: 1,
                    child: Container(
                      height: 250,
                      color: Color(0xffdddddd),
                      child: Stack(
                        children: [
                          Positioned(
                            child: Image.network(
                              'https://pimg.vogue.com.cn/userfiles/201405/1401161954401.jpg',
                              width: 200,
                            ),
                          ),
                          Positioned(
                            right: 0,
                            bottom: 0,
                            child: ClipOval(
                              child: Image.network(
                                'https://i0.wp.com/my-cte.com/wp-content/uploads/2017/11/1120-1.jpg',
                                width: 80,
                                height: 80,
                                fit: BoxFit.cover,
                              ),
                            ),
                          ),
                          Positioned(
                            left: 0,
                            bottom: 0,
                            child: ClipOval(
                              child: Image.network(
                                'https://p6.itc.cn/images01/20210805/a0fe69d264ca4efd989a79ae4bf91ffb.jpeg',
                                width: 80,
                                height: 80,
                                fit: BoxFit.cover,
                              ),
                            ),
                          )
                        ],
                      ),
                    ),
                  ),
                ],
              ),
              Wrap(
                spacing: 8, //水平间距
                runSpacing: 6, //垂直间距
                runAlignment: WrapAlignment.start,
                children: [
                  _Chip(title: "666"),
                  _Chip(title: "中国人民万岁"),
                  _Chip(title: "世界人民大和平万岁"),
                  _Chip(title: "中国长江"),
                  _Chip(title: "中国长城"),
                ],
              ),
              Row(
                children: [
                  Text('列表'),
                  Expanded(
                    child: Container(
                      height: 100,
                      decoration: BoxDecoration(color: Colors.greenAccent),
                      child: Center(
                        child: Text(
                          '拉伸填满高度',
                        ),
                      ),
                    ),
                  ),
                ],
              )
            ],
          ),
        ),
      ),
    );
  }
}

class _Chip extends StatelessWidget {
  final String title;
  _Chip({Key? key, required this.title}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Chip(
      label: Text(title),
      // avatar: Icon(Icons.settings),
      avatar: CircleAvatar(
        backgroundColor: Colors.yellowAccent.withOpacity(0.7),
        //backgroundColor: Colors.yellowAccent.shade50,
        child: Text(title.substring(0, 1)),
      ),
    );
  }
}

class _Item extends StatelessWidget {
  final String title;
  final Color color;
  _Item({Key? key, required this.title, required this.color}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return Container(
      child: Text(title),
      color: color,
    );
  }
}
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-11-12 19:42:39  更:2021-11-12 19:42:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:38:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码