美文网首页
flutter row column expanded组件使用

flutter row column expanded组件使用

作者: 浩仔_Boy | 来源:发表于2020-11-16 15:05 被阅读0次
    import 'package:flutter/material.dart';
    
    /*
     * row column expanded组件使用
     */
    void main() {
      runApp(MyApp());
    }
    
    //自定组件就是类
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          home: Scaffold(
            appBar: AppBar(
              title: Text("row column expanded组件使用"),
            ),
            body: HomeContent3(),
          ),
          theme: ThemeData(primarySwatch: Colors.red),
        );
      }
    }
    
    //Column组件使用
    class HomeContent extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return Container(
          width: double.infinity,
          height: double.infinity,
          child: Column(
            mainAxisAlignment: MainAxisAlignment.spaceEvenly, //分割类型
            crossAxisAlignment: CrossAxisAlignment.center, //交叉轴,相对于外部容器的位置
            children: [
              IconContainer(
                Icons.category,
                bgColor: Colors.red,
                iconColor: Colors.white,
              ),
              IconContainer(
                Icons.category,
                bgColor: Colors.yellow,
                iconColor: Colors.white,
              ),
              IconContainer(
                Icons.category,
                bgColor: Colors.blue,
                iconColor: Colors.white,
              )
            ],
          ),
        );
      }
    }
    
    //Row组件使用
    class HomeContent2 extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return Container(
          width: double.infinity,
          height: double.infinity,
          color: Colors.black38,
          child: Row(
            mainAxisAlignment: MainAxisAlignment.spaceEvenly, //分割类型
            crossAxisAlignment: CrossAxisAlignment.center, //交叉轴,相对于外部容器的位置
            children: [
              IconContainer(
                Icons.category,
                bgColor: Colors.red,
                iconColor: Colors.white,
              ),
              IconContainer(
                Icons.category,
                bgColor: Colors.yellow,
                iconColor: Colors.white,
              ),
              IconContainer(
                Icons.category,
                bgColor: Colors.blue,
                iconColor: Colors.white,
              )
            ],
          ),
        );
      }
    }
    
    //Expanded组件使用
    class HomeContent3 extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return Container(
          width: double.infinity,
          height: double.infinity,
          color: Colors.black38,
          child: Row(
            mainAxisAlignment: MainAxisAlignment.spaceEvenly, //分割类型
            crossAxisAlignment: CrossAxisAlignment.center, //交叉轴,相对于外部容器的位置
            children: [
              Expanded(
                  child: IconContainer(
                    Icons.category,
                    bgColor: Colors.red,
                    iconColor: Colors.white,
                  ),
                  flex: 1),
              SizedBox(
                width: 10.0,
              ),
              Expanded(
                  child: IconContainer(
                    Icons.category,
                    bgColor: Colors.yellow,
                    iconColor: Colors.white,
                  ),
                  flex: 1),
              SizedBox(
                width: 10.0,
              ),
              Expanded(
                  child: IconContainer(
                    Icons.category,
                    bgColor: Colors.blue,
                    iconColor: Colors.white,
                  ),
                  flex: 2),
            ],
          ),
        );
      }
    }
    
    //自定义图片组件
    // ignore: must_be_immutable
    class IconContainer extends StatelessWidget {
      IconData iconData;
      Color bgColor = Colors.blue;
      Color iconColor = Colors.yellow;
    
      IconContainer(this.iconData, {this.bgColor, this.iconColor});
    
      @override
      Widget build(BuildContext context) {
        return Container(
            width: 100.0,
            height: 100.0,
            color: this.bgColor,
            child: Icon(this.iconData, color: this.iconColor));
      }
    }
    

    相关文章

      网友评论

          本文标题:flutter row column expanded组件使用

          本文链接:https://www.haomeiwen.com/subject/hrfzbktx.html