Flutter学习之旅 -AspectRatio Card CircleAvatar组件

news2024/11/22 22:22:34

文章目录

      • AspectRatio
      • Card
      • CircleAvatar
      • 定义方法封装

AspectRatio

AspectRatio的作用是根据设置调整子元素child的宽高比。

class MyHomePage extends StatelessWidget {
  const MyHomePage({Key? key}) : super(key: key);

  
  Widget build(BuildContext context) {
    //获取设备的宽度和高度

    return AspectRatio(
      aspectRatio: 3 / 1, //高度/占用空间,宽度是整个宽度
      child: Container(
        color: Colors.red,
      ),
    );
  }
}

Card

Card实现一个通讯录的卡片

属性说明
margin外边距
child子组件
elevation阴影值的深度
color颜色
clipBehaviorclipBehavior内容溢出剪切方式 Clip.hardEdge剪切但不应用抗锯齿
ShapeCard阴影效果
class MyHomePage extends StatelessWidget {
  const MyHomePage({Key? key}) : super(key: key);

  
  Widget build(BuildContext context) {
    //获取设备的宽度和高度

    return GridView.count(
      crossAxisCount: 2,
      children: [
        Card(
            // color: Colors.red,
            elevation: 10,
            child: Column(
              children: [
                AspectRatio(
                  aspectRatio: 4 / 3,
                  child: Image.network(
                    "http://124.223.18.34:5555/static/images/zzjsfcka/zzjsfcka2FM.jpg",
                    fit: BoxFit.cover,
                    alignment: Alignment.topCenter,
                  ),
                ),
                const Text("总之就是非常可爱第二季")
              ],
            )),
        Card(
          // color: Colors.red,
          elevation: 10,
          child: Column(
            children: [
              AspectRatio(
                aspectRatio: 4 / 3,
                child: Image.network(
                  "http://124.223.18.34:5555/static/images/blzh/blzhFM.jpg",
                  fit: BoxFit.cover,
                  // alignment: Alignment.topCenter,
                ),
              ),
              const Text("碧蓝之海")
            ],
          ),
        )
      ],
    );
  }
}

GridView+Card效果图

CircleAvatar

CircleAvatar来实现一个圆形图片

const ListTile(
  leading: CircleAvatar(
  backgroundImage: NetworkImage("http://124.223.18.34:5555/static/images/zzjsfcka/zzjsfcka2FM.jpg"),
  ),
  title: Text("总之就是非常可爱第二季"),
)

在这里插入图片描述

定义方法封装

我们都知道最好一定义一个私有方法去封装这个格式不然每次去重复定义会显得很乱

List listData = [
  {
    "imageUrl":
        "http://124.223.18.34:5555/static/images/zzjsfcka/zzjsfcka2FM.jpg",
    "name": "总之就是非常可爱第二季",
  },
  {
    "imageUrl": "http://124.223.18.34:5555/static/images/blzh/blzhFM.jpg",
    "name": "碧蓝之海",
  },
];

class MyHomePage extends StatelessWidget {
  const MyHomePage({Key? key}) : super(key: key);

  List<Widget> _initCradData() {
    var tempList = listData.map((value) {
      return Card(
        elevation: 10,
        child: Column(
          children: [
            AspectRatio(
              aspectRatio: 4 / 3,
              child: Image.network(
                value["imageUrl"],
                fit: BoxFit.cover,
                alignment: Alignment.topCenter,
              ),
            ),
            Text(value["name"])
          ],
        ),
      );
    });
    return tempList.toList();
  }

  
  Widget build(BuildContext context) {
    //获取设备的宽度和高度

    return GridView.count(
      crossAxisCount: 2,
      children: _initCradData(),
    );
  }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/494947.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决文件夹显示“文件夹变文件”的方法

在文件夹属性设置中&#xff0c;找到“文件名”&#xff0c;双击一下&#xff0c;选中的项目就会显示为“文件夹”&#xff0c;如果没有选中&#xff0c;点击“打开文件夹”就可以了。这是因为系统在默认情况下&#xff0c;所有的文件夹都是以系统默认的路径来命名的。当然也有…

构建 Kubernetes Operator 的原则是什么?

Kubernetes&#xff08;简称K8s&#xff09;上数据服务的自动化越来越受欢迎。在K8s上运行有状态的工作负载意味着使用Operator。然而&#xff0c;它发展演化到今天已经变得非常复杂&#xff0c;像Operator这样的应用模式和扩展方式对于开发者与运维者而言愈发受到欢迎。 但工…

【勝讯云 Finops Crane 集训营】基于 FinOps 的云资源分析与成本优化平台实操及说明

介绍 Crane 是由腾讯云主导开源的国内第一个基于云原生技术的成本优化项目&#xff0c;遵循 FinOps 标准&#xff0c;已经获得FinOps基金会授予的全球首个认证降本增效开源方案。它为使用 Kubernetes 集群的企业提供了一种简单、可靠且强大的自动化部署工具。 Crane 的设计初衷…

来这公司一年碰到的问题比我过去10年都多

无意间发现我们 Kafka 管理平台的服务的 open files 和 CPU 监控异常&#xff0c;如下图&#xff0c;有一台机器 CPU 和 opfen files 指标持续在高位&#xff0c;尤其是 open files 达到了4w。 原因分析 第一反应是这个服务请求很高&#xff1f;但是这个服务是一个管理服务不应…

云安全的挑战与发展:云原生安全将是未来趋势吗?

引言 随着企业数字化转型的推进和云计算的普及&#xff0c;云安全已经成为了当下IT行业的热点话题之一。尽管云计算已经被广泛应用&#xff0c;但在云安全方面仍存在一些挑战和问题。本文将探讨当前云安全面临的挑战&#xff0c;并分析云原生安全在未来的发展趋势。 第一章 云…

Opera One将取代 Opera 浏览器

导读Opera 日前推出了一款名为 Opera One 的新浏览器&#xff0c;该浏览器正处于开发者预览阶段&#xff0c;用户可以访问官网下载试用&#xff08;链接&#xff09;。这个浏览器的终极目标是在今年晚些时候取代其当家的 Opera 浏览器。 Opera One 遵循 "模块化设计理念&q…

Netty(2)

Netty 文章目录 Netty4 Netty 模型4.1 Netty 模型介绍4.2 Netty demo4.3 Netty 异步模型4.3.1 基本介绍4.3.2 异步模型4.3.3 Future-Listener 机制4.4 Netty 任务队列 task 4 Netty 模型 4.1 Netty 模型介绍 Netty 线程模式&#xff1a;Netty 主要基于主从 Reactor 多线程模型…

2023年开源社项目委员会介绍

2023 项目委员会成员 项目委员会主席&#xff1a;石垚 &#xff08;tech-querykaiyuanshe.org&#xff09; 项目委员会秘书 &#xff1a;丁文昊 &#xff08;dingwenhaokaiyuanshe.org&#xff09; 开源社官网项目组&#xff1a; 组长&#xff1a;石垚 &#xff08;tech-queryk…

2023 ATTCK v13版本更新指南

一、什么是ATT&CK ATT&CK&#xff08;Adversarial Tactics, Techniques, and Common Knowledge &#xff09;是一个攻击行为知识库和模型&#xff0c;主要应用于评估攻防能力覆盖、APT情报分析、威胁狩猎及攻击模拟等领域。 二、ATT&CK 发展历史 1996年&#xff1…

【UE】高级载具插件-04-坦克瞄准开火

在上一篇文章中&#xff08;【UE】高级载具插件-03-子弹击中目标时使目标破碎&#xff09;&#xff0c;我们实现了坦克开火的功能。本篇博客介绍的是实现坦克瞄准开火的功能。 效果 步骤 1. 首先将学习FPS游戏时用到的动态准心控件蓝图资源导入 2. 在项目设置中增加两个操作…

穿越有序链表的迷宫:探索力扣“合并两个有序链表”的解题思路

本篇博客计划讲解力扣“21. 合并两个有序链表”这道题&#xff0c;这是题目链接。 老规矩&#xff0c;先来审下题干。 输出示例如下&#xff1a; 提示&#xff1a; 这道题目相当经典&#xff0c;同时是校招的常客。大家先思考一下&#xff0c;再来听我讲解。 思路&…

7.1 幂法和反幂法

学习目标&#xff1a; 如果我要学习幂法及反幂法&#xff0c;我会遵循以下步骤&#xff1a; 1. 学习理论知识&#xff1a;首先我会找到可靠的教材或者网上资源&#xff0c;学习幂法及反幂法的理论知识&#xff0c;包括其原理、公式、算法流程、收敛性等方面的内容。这些知识可…

Cadence Allegro BGA类器件扇孔操作教程

对于BGA扇孔&#xff0c;同样过孔不宜打孔在焊盘上&#xff0c;推荐打孔在两个焊盘的中间位置。很多工程师为了出线方便&#xff0c;随意挪动BGA里面过孔的位置&#xff0c;甚至打在焊盘上面&#xff0c;如图1所示&#xff0c;从而造成BGA区域过孔不规则&#xff0c;易造成后期…

3.shell脚本例子

文章目录 1.计算从1到100所有整数的和2.提示用户输入一个小于100的整数&#xff0c;并计算从1到该数之间所有整数的和3.求从1到100所有整数的偶数和、奇数和4.用户名存放在users.txt文件中&#xff0c;每行一个&#xff0c;判断文件里的用户是否存在&#xff0c;若该用户存在&a…

【Java EE】-Servlet(一) 创建Maven下的webapp项目

作者&#xff1a;学Java的冬瓜 博客主页&#xff1a;☀冬瓜的主页&#x1f319; 专栏&#xff1a;【JavaEE】 分享: 在满园弥漫的沉静的光芒之前&#xff0c;一个人更容易看到时间&#xff0c;并看到自己的身影。——史铁生《我与地坛》 主要内容&#xff1a;创建一个基于maven…

【云计算•云原生】5.云原生之初识OpenStack

文章目录 OpenStack起源OpenStack基本组件HorizonNovaSwiftCinderKeystoneNeutronGlanceCeilometerTroveHeat OpenStack简单框架模型 OpenStack起源 OpenStack是一个由NASA和Rackspace合作研发并发起的&#xff0c;以Aapache许可证授权的自由软件和开放源代码项目。为公有云及…

JS 实现区块链分布式网络

JS 实现区块链分布式网络 这里主要 JS 实现区块链 实现的部分继续下去&#xff0c;对 Blockchain 这个对象有一些修改&#xff0c;如果使用 TS 的话可能要修改对应的 interface&#xff0c;但是如果是 JS 的话就无所谓了。 需要安装的依赖有&#xff1a; express body-parse…

字节跳动ByteHouse与亚马逊云科技携手打造新一代云数仓服务

随着全球化的发展&#xff0c;越来越多的中国企业开始涉足海外市场&#xff0c;开展跨境业务。在这个过程中&#xff0c;强大的数据分析能力是出海企业不可或缺的重要一环。通过有效的数据分析&#xff0c;能帮助企业更好地了解全球市场对产品的需求便于调整产品战略&#xff0…

微服务---RabbitMQ进阶(消息可靠性,延迟队列,惰性队列,集群部署)

RabbitMQ进阶(消息可靠性,延迟队列,惰性队列,集群部署) 消息队列在使用过程中&#xff0c;面临着很多实际问题需要思考&#xff1a; 1.消息可靠性 消息从发送&#xff0c;到消费者接收&#xff0c;会经理多个过程&#xff1a; 其中的每一步都可能导致消息丢失&#xff0c;常见…

Python每日一练(20230506) 存在重复元素I、II、III

目录 1. 存在重复元素 Contains Duplicate I 2. 存在重复元素 Contains Duplicate II 3. 存在重复元素 Contains Duplicate III &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 存在重…