warp 流式布局

代码:

import ‘package:flutter/material.dart‘;

class WarpDemo extends StatefulWidget {

WarpDemo({Key key}) : super(key: key);

@override

_WarpDemoState createState() => _WarpDemoState();

}

class _WarpDemoState extends State<WarpDemo> {

List<Widget> demoList;

@override

void initState() {

super.initState();

demoList = List<Widget>()..add(buildAddButton());//初始化

}

@override

Widget build(BuildContext context) {

final width = MediaQuery.of(context).size.width;//屏幕宽

final height = MediaQuery.of(context).size.height;//屏幕高

return Scaffold(

appBar: AppBar(

title: Text(‘流式布局‘),

),

body: Center(

child: Opacity(opacity: 0.8,child:Container(

width: width,

height: height/2,

color: Colors.grey,

child: Wrap(

children: demoList,

spacing: 26.0,//间距

),

),),//透明

),

);

}

Widget buildAddButton(){//也算是方法其实我更觉得是个全局变量 返回widget的方法

return GestureDetector(//手势识别

onTap: (){

if (demoList.length < 9) {

setState(() {//

demoList.insert(demoList.length - 1, buildPhoto());//在demoList.length - 1 插入元素buildPhoto() //集合改变 在这里

});

}

},

child: Padding(

padding: const EdgeInsets.all(10.0),

child: Container(

width: 80.0,

height: 80.0,

color: Colors.greenAccent,

child: Icon(Icons.add),

),

),

);

}

Widget buildPhoto (){

return Padding(

padding: const EdgeInsets.all(10.0),

child: Container(

width: 80.0,

height: 80.0,

color: Colors.orange,

child: Center(

child: Text(‘照片‘),

),

),

);

}

}

总结:

//wrap 流式布局

Wrap(

children:xx,//xx 数据集合

)

xx.inser(index,value)//xx 数据集合, index 在第index个位置 添加数据为value,这个和OC 不一样,flutter inser语法是先修改元素后扩充集合。

padding(//????还不明白这个是不是类似于View 如果是 那和 Contain啥区别

)

原文地址:https://www.cnblogs.com/pp-pping/p/12188717.html

时间: 2024-08-09 16:10:57

warp 流式布局的相关文章

css3流式布局

css3布局方式: 不推荐使用float,有时候使用浮动的时候,对于可适应的流氏布局,无法胜任. 推荐使用css3的display:webkit-box. 使用的html代码 <div class="warp"> <div class="one"> </div> <div class="two"></div> <div class="three"><

含有过滤功能的android流式布局

FilterFlowLayout 含有过滤功能的流式布局, 参考FlowLayout 可以去除宽度不在范围(比例或真实值)内的子view 可以设置最大行数 可以添加组件间水平间距 可以添加行间距 系统要求 Android 4.0以上 快速使用 <me.codeboy.android.lib.FilterFlowLayout xmlns:cb="http://schemas.android.com/apk/res-auto" android:id="@+id/filter

Android自定义之流式布局

流式布局,好处就是父类布局可以自动的判断子孩子是不是需要换行,什么时候需要换行,可以做到网页版的标签的效果.今天就是简单的做了自定义的流式布局. 具体效果: 原理: 其实很简单,Measure  Layout.只需要这两个步骤就可以搞定了.完全的手动去Measure  Layout. 我们看一下代码. 解释就在代码里面做注释了,因为使用为知笔记写的博客,格式不符合代码格式.大家可以看具体的源码.最后又源码下载地址. 1.Measure  测量 @Override protected void o

GUI布局:边界布局、流式布局、网格布局、卡片布局

边界布局 package guiTest; //JFrame默认的是边界布局BorderLayout import java.awt.BorderLayout; import javax.swing.JButton; import javax.swing.JFrame; public class BorderLayoutDemo { public static void main(String[] args) { JFrame f = new JFrame("边界布局BorderLayout&q

c# winform panel 流式布局 panel块可自动排列

代码下载地址  http://download.csdn.net/detail/simadi/7677053 c# winform panel 流式布局 panel块可自动排列,布布扣,bubuko.com

静态布局、自适应布局、流式布局、响应式布局、弹性布局简析

近期学习,有很多感想,有时候看似相近的概念,其实意义却不相同.所以学习要针对不同的名词有明确的区分意识. 抽空时间,打算学习下display:flex;本以为就是一个小小的知识点,正式去研究的时候,才发现display:flex;有很多内容,能实现很多效果.比如三栏布局(左右两栏固定,中间栏自适应),圣杯布局. 后来想着经常听到流式布局,自适应布局,响应式布局,他们有什么区别呢,就去搜了许多内容查看,才发现每种布局都有优缺点和不同使用场景. 静态布局:给页面元素设置固定的宽度和高度,单位用px,

移动web中的流式布局和viewport知识介绍

1   流式布局 其实  流式布局  就是百分比布局,通过盒子的宽度设置成百分比来根据屏幕的宽度来进行伸缩,不受固定像素的限制,内容向两侧填充. 这样的布局方式  就是移动web开发使用的常用布局方式 2    Viewport 我们猜想下pc页面在移动设备上显示情况. 放不下,缩放? 我们测试下pc页面在移动设备上显示. 默认的缩放的显示的 认识viewport 在移动端用来承载网页的这个区域,就是我们的视觉窗口,viewport(视口),这个区域可是设置高度宽度,可是按比例放大缩小,而且能设

JAVA 流式布局管理器

//流式布局管理器 import java.awt.*; import javax.swing.*; public class Jiemian2 extends JFrame{ //定义组件 JButton[] an = {null,null,null,null,null,null,null,null}; public static void main(String[] args){ //运行本类的构造方法 Jiemian2 jiemian = new Jiemian2(); } public

android流式布局热门标签的实现

在日常的app使用中,我们会在android 的app中看见热门标签等自动换行的流式布局,今天就为大家分享一种android流式布局的实现. 先看最终效果 自定义流式布局的实现 package com.sunny.flowlayout.view; import java.util.ArrayList; import java.util.List; import android.content.Context; import android.util.AttributeSet; import an