首页 > 其他分享 >16、Flutter Wrap组件 实现流布局

16、Flutter Wrap组件 实现流布局

时间:2023-11-22 10:23:18浏览次数:32  
标签:16 text onPressed 组件 MyApp 按钮 Wrap Flutter

Wrap可以实现流布局,单行的Wrap跟Row表现几乎一致,单列的Wrap则跟Column表现几乎一致。但 Row与Column都是单行单列的,Wrap则突破了这个限制,mainAxis上空间不足时,则向crossAxis上 去扩展显示。  

Wrap组件的使用

//自定义按钮组件
class MyApp extends StatelessWidget {
  String text; //按钮文字
  void Function()? onPressed; //方法传参
  MyApp(this.text, {super.key, required this.onPressed}); //必须传入required

  @override
  Widget build(BuildContext context) {
    return ElevatedButton(
      style: ButtonStyle(
        backgroundColor:
            MaterialStateProperty.all(Color.fromARGB(255, 241, 223, 223)),
        foregroundColor: MaterialStateProperty.all(Colors.black45),
      ),
      onPressed: onPressed,
      child: Text(text),
    );
  }
}

class MyApp2 extends StatelessWidget {
  const MyApp2({super.key});
  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: const EdgeInsets.all(10),
    child: Wrap(
      alignment: WrapAlignment.center, //主轴的对其方式 center居中  end据右
      spacing: 10, //X轴间距
      runSpacing: 5, //y轴间距
      direction: Axis.horizontal,   // horizontal水平(默认是水平)    vertical 垂直
      children: [
        MyApp(
          "第一级",
          onPressed: () {
            print("第一级按钮1");
          },
        ),
        MyApp("第2级11", onPressed: () {},),
        MyApp("第3级 DA ", onPressed: () {},),
        MyApp("第4级", onPressed: () {},),
        MyApp("第5级DF ", onPressed: () {},),
        MyApp("第6级", onPressed: () {},),
        MyApp("第7级DA ", onPressed: () {},),
        MyApp("第8级", onPressed: () {},),
        MyApp("第9级D A ", onPressed: () {},),
      ],
    ));
  }
}

 

标签:16,text,onPressed,组件,MyApp,按钮,Wrap,Flutter
From: https://www.cnblogs.com/xbinbin/p/17848152.html

相关文章

  • 11.16线性表A,B顺序存储合并
     #include<iostream>#include<cstring>usingnamespacestd;typedefstructf{intdata;f*next;}node,*Node;voidbuild(f*p){intx;while(cin>>x&&x!=-1){f*now=newnode();now->data=x;......
  • 【一周聚焦】联邦学习 10.9-10.16
    近期的联邦学习做了如下内容:大模型目前大模型是绝对的研究风口,而FL中为了降低传输开销的网络压缩技术也是可以服务于LLM的高效传输的。港科大+微众银行,10月16,FATE-LLM:AIndustrialGradeFederatedLearningFrameworkforLargeLanguageModels杨强团队一直在推FATE这个联......
  • C语言方便can通信的10进制转16进制(拆分)
    can通讯时候是把4位16进制分成两个2位(0xFFFF--->0xFF0xFF)就随手写了一个小工具把十进制转换成两个十六进制方便修改can报文如有问题请大家不吝赐教uint8_trad[2]={0x00,0x00};voidMSG_Trans(intdec){ uint8_tHexH=0x00; uint8_tHexL=0x00; for(int......
  • Modbus 转 PROFIBUS DP 应用场景 PM-160
    1)在网关PROFIBUSDP侧是一个PROFIBUSDP从站,在Modbus串口侧有Modbus主站、Modbus从站、通用模式可选:接口有RS232RS485、RS422三种可选。2)通信方式为半双工:波特率有300~115200bps可选;有/无校验位、奇/偶校验和标记/空格可选。3)网关作为PROFIBUS从站,波特率自适应MaxS12Mbps......
  • 15、Flutter 按钮组件
    按钮组件的属性ButtonStylee里面的常用的参数 ElevatedButtonElevatedButton即"凸起"按钮,它默认带有阴影和灰色背景。按下后,阴影会变大classMyAppextendsStatelessWidget{constMyApp({super.key});@overrideWidgetbuild(BuildContextcontext){......
  • 【2023-11-16】弹性之难
    20:00希望并争取获得幸福,这就是生活。                                                 ——列夫·尼古拉耶维奇·托尔斯泰我的一个副部门经理同事下午请假了,他说孩子......
  • 【题解】JLOI2016 - 成绩比较
    【题解】JLOI2016-成绩比较https://loj.ac/p/2026是我会的题,所以感觉难度不如noipT3T4。设\(f_{i,j}\)表示考虑到前\(i\)门课,有\(j\)人被B碾压。转移,设这轮中有\(k\)个原本被碾压的人不再被碾压,则相当于从\(f_{i-1,j+k}\)转移到\(f_{i,j}\)。考虑转移系数,首......
  • ARC168E
    简要题意给定一个长度为$n$的序列$a$,将$a$划分为$k$个连续段,最大化满足连续段中元素和$\geqs$的连续段数。题解首先发现是恰好$k$个连续段,这种类型的题套路地考虑wqs二分,然后你会惊喜的发现这玩意不是凸的,我的思考也就卡在这里了。正确的做法是观察到答案具有单......
  • 1688 商品详情 APIERP 选品专用 API 接口 Python Java
    1688商品详情API接口是一种程序化的接口,它允许商家或开发者使用自己的编程技能,对1688平台上的商品信息进行查询、获取和更新。通过这个API接口,商家可以根据自己的需求,获取商品的详细信息,如价格、库存、描述、图片等,从而更好地进行营销和客户服务。使用1688商品详情API接......
  • 手机直播源码,Flutter 中的弹簧按钮效果
    手机直播源码,Flutter中的弹簧按钮效果import'package:flutter/material.dart'; classScaleAnimationextendsStatefulWidget   {  finalWidgetchild;  finalFunction()?onTap;  ScaleAnimation({requiredthis.child,requiredthis.onTap,Key?key}):supe......