首页 > 其他分享 >Flutter组件

Flutter组件

时间:2024-03-03 21:46:04浏览次数:24  
标签:const color Colors child 组件 Container Flutter alignment

两个常用的组件:Material和Scaffold修饰App和H5一样很固定。

1.Container

2.Text

3.picture

import 'package:flutter/material.dart';

void main() {
  runApp(MaterialApp(
      home: Scaffold(
          appBar: AppBar(title: Text("Flutter")),
          body: Column(
            children: [MyApp(), Mybutton()],
          ))));
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    //从下面提取上来了
    const text = Text("Flutter  Center-container-child",
        style: TextStyle(
          color: Color.fromARGB(255, 168, 32, 23),
          height: 15,
          fontSize: 20,
          //如果我要设置这一行字在某个位置???如何设置
          //解决:使用上面的alignment可以配置
        ));
    var container = Container(
      alignment: Alignment.center, //配置Container内元素的方位
      width: 330,
      height: 300,
      decoration: BoxDecoration(
        color: Color.fromARGB(255, 28, 188, 202),
        border: Border.all(color: Color.fromARGB(255, 243, 145, 33), width: 5),
        borderRadius: BorderRadius.circular(100), //使用的圆角是对于四个圆角的半径
        //阴影
        boxShadow: [
          BoxShadow(
            color: Colors.black,
            blurRadius: 15.0,
          )
        ],
        //渐变颜色    RadialGradient  径向渐变(中间向外渐变)
        // gradient: const LinearGradient(
        //   colors: [Colors.red, Colors.green],
        // )
        // gradient:RadialGradient(
        //   colors: [Colors.red,Colors.green],
        //   radius: 0.4
        // )
      ),
      child: text,
    );
    return Center(child: container);
  }
}

class Mybutton extends StatelessWidget {
  const Mybutton({super.key});

  @override
  Widget build(BuildContext context) {
    return button01();
  }

  Container button01() {
    return Container(
      //和上面的组件间隔
      // margin: EdgeInsets.all(10),
      margin: EdgeInsets.fromLTRB(0, 50, 0, 0),
      //内间距,,,bt我觉得alignment更好用
      // padding: EdgeInsets.fromLTRB(40, 0, 0, 0),
      alignment: Alignment.center,
      width: 200,
      height: 40,
      //对组件进行平移和旋转
      // transform: Matrix4.translationValues(0, 0, 0),
      //旋转
      transform: Matrix4.rotationZ(0.6),
      decoration: BoxDecoration(
        color: Colors.blue,
        borderRadius: BorderRadius.circular(15),
      ),
      child:const Text(
        "My button",
        style: TextStyle(
          color: Colors.white,
          fontSize: 20,
        ),
      ),
    );
  }
}

标签:const,color,Colors,child,组件,Container,Flutter,alignment
From: https://www.cnblogs.com/EternalX/p/18050772

相关文章

  • Flutter widget_id: key 的使用
    Flutterwidgetid(唯一标识):keykey的作用Key是一个附加到元素(widgets,semantics,renderobjects等)的标识符。它用于控制框架是否应将旧widget与当前树中的其他widget匹配起来。简单来说,Keys的作用主要在于保持状态和在widget树重建时识别哪些widget是相同的。key的......
  • vue3+vite,封装 echarts 组件以及如何使用
    1.封装echarts组件1.安装echarts所需npm包,如下。[email protected]@3.1.0//社区图等npmi@vueuse/[email protected]//一些好用的hook2.封装echarts组件1.在component目录下新建Echarts文件夹2.在Echarts文件夹下新建config文件夹(......
  • Vue3组件库搭建及测试
    一、搭建Vite环境1.创建目录&初始化包配置&安装Vite依赖mkdirgresgying-uicdgresgying-uinpminitnpmivite-D2.根目录创建index.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Gresgyi......
  • 在K8S中,如何查看kubelet组件的日志?
    在Kubernetes(K8S)中,查看kubelet组件的日志可以通过几种不同的方法。以下是详细的步骤:使用journalctl命令:如果kubelet是通过systemd方式部署的,你可以使用journalctl命令来查看其日志。执行journalctl-ukubelet将显示kubelet的日志信息。如果需要查看实时更新的日志,可以添加-f......
  • Flutter 定义局部路由 Navigator
    Flutter中,通常我们使用Navigator来管理全局的页面路由,在整个应用中维护一个路由堆栈。但是,有些情况下你可能需要一个局部路由,也就是在应用的某个部分内部维护一个独立的路由堆栈,而不影响全局路由。为了实现这一点,你可以在你的应用中创建一个新的Navigator局部路由简单使用......
  • 在K8S中,节点状态哪个组件负责上报的?
    在Kubernetes(K8s)中,节点状态是由kubelet组件负责定期上报的。kubelet是运行在每个节点上的代理程序,它与KubernetesMaster节点上的控制面组件紧密协作,以确保节点上的Pod能够正确运行。kubelet的主要职责之一就是与KubernetesAPI服务器保持通信,定期向API服务器报告节点的状态信息,......
  • Isolate线程通信 flutter
    A、B互传消息A、B都创建自己的接收端口和发送端口A将自己的发送端口发送给对面B,B才能拿到A的发送端口,给A发送消息A监听自己的接收端口,拿到B发给自己的消息B监听自己的接收端口,拿到A发给自己的消息voidfunction_main()async{print("当前线程:"+Isolate.current.debu......
  • Vue 3.0 应用&组件实例
    #创建一个应用实例每个Vue应用都是通过用 createApp 函数创建一个新的应用实例开始的: constapp=Vue.createApp({/*选项*/})  该应用实例是用来在应用中注册“全局”组件的。我们将在后面的指南中详细讨论,简单的例子: constapp=Vue.createApp({})ap......
  • Vue UI组件库系列之概述
    概述UI组件库:提供了一些如输入框、布局、按钮等在网页UI布局中常用的元素,并将这些元素以组件的形式提供给我们。一般会说UI组件库是基于哪个框架【Vue/React/...】的、PC端/移动端什么项目适合用UI组件库,什么项目不适合?【UI组件库的应用场景】不适合【页面中包含很多定制化、......
  • Vue Router系列之(十)缓存路由组件
    缓存路由组件完善路由的技巧作用:让不展示的路由组件保持挂载,不被销毁。​ 正常情况下,进行了路由跳转后,之前的组件会被销毁,如果之前的组件中存在input框之类的表单类组件,输入的内容也就消失了,也就是说,要保证路由跳转后不销毁之前的组件具体编码://缓存的对象:并不是所有路......