【Harmony3.1/4.0】笔记三-计算器

概念

网格布局是由“行”和“列”分割的单元格所组成,通过指定“项目”所在的单元格做出各种各样的布局。网格布局具有较强的页面均分能力,子组件占比控制能力,是一种重要自适应布局,其使用场景有九宫格图片展示、日历、计算器等。

ArkUI提供了Grid容器组件和子组件GridItem,用于构建网格布局。Grid用于设置网格布局相关参数,GridItem定义子组件相关特征。Grid组件支持使用条件渲染、循环渲染、懒加载等渲染控制方式生成子组件。

网格布局-计算器

代码如下

@Entry
@Component
struct One{
  build(){
    Column(){
      Row(){
        Text("计算器").fontSize(28)
          .fontColor(Color.White).fontWeight(FontWeight.Bold)
          .textAlign(TextAlign.Center).width("100%")
      }.height(60).backgroundColor("#600f").width("100%")
      Row(){
        Column(){
          Text("0").textAlign(TextAlign.End)
            .width("100%").margin({right:20,top:5})
            .fontSize(26).fontWeight(1).height("50%")
          Text("0").textAlign(TextAlign.End)
            .width("100%").margin({right:20,top:5})
            .fontSize(26).fontWeight(1)
        }.width("100%").height("100%")
      }.borderWidth(5).borderColor("#600f").margin({ left:20,right:20,top:1 })
      .width("100%").height(120)
      Grid(){
        GridItem(){
          Button("MC").type(ButtonType.Normal).fontSize(22)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }.margin({left:1})
        GridItem(){
          Button("MR").type(ButtonType.Normal).fontSize(22)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }
        GridItem(){
          Button("MS").type(ButtonType.Normal).fontSize(22)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }
        GridItem(){
          Button("M+").type(ButtonType.Normal).fontSize(22)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }
        GridItem(){
          Button("-").type(ButtonType.Normal).fontSize(24)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }.margin({ right:5 })
        GridItem(){
          Button("←").type(ButtonType.Normal).fontSize(22)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }.margin({left:1})
        GridItem(){
          Button("CE").type(ButtonType.Normal).fontSize(22)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }
        GridItem(){
          Button("C").type(ButtonType.Normal).fontSize(22)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }
        GridItem(){
          Button("±").type(ButtonType.Normal).fontSize(22)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }
        GridItem(){
          Button("√").type(ButtonType.Normal).fontSize(24)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }.margin({ right:5 })
        GridItem(){
          Button("7").type(ButtonType.Normal).fontSize(22)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }.margin({left:1})
        GridItem(){
          Button("8").type(ButtonType.Normal).fontSize(22)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }
        GridItem(){
          Button("9").type(ButtonType.Normal).fontSize(22)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }
        GridItem(){
          Button("/").type(ButtonType.Normal).fontSize(22)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }
        GridItem(){
          Button("%").type(ButtonType.Normal).fontSize(24)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }.margin({ right:5 })
        GridItem(){
          Button("4").type(ButtonType.Normal).fontSize(22)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }.margin({left:1})
        GridItem(){
          Button("5").type(ButtonType.Normal).fontSize(22)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }
        GridItem(){
          Button("6").type(ButtonType.Normal).fontSize(22)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }
        GridItem(){
          Button("*").type(ButtonType.Normal).fontSize(22)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }
        GridItem(){
          Button("1/").type(ButtonType.Normal).fontSize(24)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }.margin({ right:5 })
        GridItem(){
          Button("1").type(ButtonType.Normal).fontSize(22)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }.margin({left:1})
        GridItem(){
          Button("2").type(ButtonType.Normal).fontSize(22)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }
        GridItem(){
          Button("3").type(ButtonType.Normal).fontSize(22)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }
        GridItem(){
          Button("-").type(ButtonType.Normal).fontSize(22)
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }
        GridItem(){
          Button("=").type(ButtonType.Normal).fontSize(24).margin({bottom:20,top:10})
            .borderRadius(10).width("98%").height("75%").backgroundColor("#600f")
        }.margin({ right:5 }).rowStart(4).rowEnd(5)
        GridItem(){
          Button("0").type(ButtonType.Normal).fontSize(22).margin({bottom:20})
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }.margin({left:1}).columnStart(0).columnEnd(1)
        GridItem(){
          Button(".").type(ButtonType.Normal).fontSize(22).margin({bottom:20})
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }
        GridItem(){
          Button("+").type(ButtonType.Normal).fontSize(22).margin({bottom:20})
            .borderRadius(10).width("98%").height("60%").backgroundColor("#600f")
        }


      }.width("100%").height("80%")
      .columnsTemplate("1fr 1fr 1fr 1fr 1fr")
      .rowsTemplate("1fr 1fr 1fr 1fr 1fr 1fr ")
      .columnsGap(5)
    }.width("100%")
  }
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python-pytorch 如何使用python库Netron查看模型结构(以pytorch官网模型为例)0.9.2

Netron查看模型结构 参照模型安装Netron写netron代码运行查看结果需要关注的地方 2024年4月27日14:32:30----0.9.2 参照模型 以pytorch官网的tutorial为观察对象,链接是https://pytorch.org/tutorials/intermediate/char_rnn_classification_tutorial.html 模型代…

基于Springboot的新生宿舍管理系统

基于SpringbootVue的新生宿舍管理系统的设计与实现 开发语言:Java数据库:MySQL技术:SpringbootMybatis工具:IDEA、Maven、Navicat 系统展示 用户登录 首页 公告信息管理 院系管理 班级管理 学生管理 宿舍信息管理 宿舍安排管理…

清华军团推出中国首个对标Sora的视频大模型Vidu,扒一扒它背后的模型架构

就在前天,Vidu 在 2024 中关村论坛年会之中横空出世。 伴随着“中国首个”,“Sora 级视频模型”,“模拟真实的物理世界”等关键词下的刷屏式的报道,Vidu 一下成为国产视频模型的一剂强心针。 尽管目前 Vidu 支持的视频长度是 16 …

二叉树理论和题目

二叉树的种类 在我们解题过程中二叉树有两种主要的形:满二叉树和完全二叉树。 满二叉树 满二叉树:如果一棵二叉树只有度为0的结点和度为 2 的结点,并且度为 0 的结点在同一层上,则这棵二叉树为满二叉树。 这棵二叉树为满二叉树…

vscode的终端区乱码怎么办呢?

vscode的终端区乱码怎么办呢? 错误效果解决办法一解决办法二(极力推荐方法二)最终效果参考文献 错误效果 解决办法一 解释:你之所以使用了utf8还乱码,是因为你的电脑目前根本无法兼容utf8,只兼容gbk 怎么让你的电脑兼容utf8,我写在方法二 在设置中,输入encoding 解决办法二(极…

水稻病害检测(YOLO数据集,多分类,稻瘟病、纹枯病、褐斑病、枯心病、霜霉病、水稻细菌性条纹斑病、稻苞虫)

是自己利用LabelImg工具进行手工标注,数据集制作不易,请尊重版权(稻瘟病、纹枯病、褐斑病、枯心病、霜霉病、水稻细菌性条纹斑病、稻苞虫) 如果需要yolv8检测模型和数据集放在一起的压缩包,可以关注:最新最…

求解约瑟夫问题

思路: 我们要创建两个指针 有一个指针pcur指向头结点,该pcur作为报数的指针,还有一个指针ptail指向尾结点,作为记录pcur的地址 每报数为m时,pcur指向下一个元素的地址,ptail销毁报数为m的地址&#xff0…

分光光度法基本原理与应用

本文介绍分光光度法基本原理与应用。 分光光度法是分光光度计采用的方法,在医疗检测仪器,实验室测量仪器中经常使用。本文简要分析其原理,并给出实际工作过程中如何应用及应用过程中可能的误差来源。 1.基本概念 设一平行单色光垂直照射某…

网络安全工程师必备的6个渗透测试工具

渗透测试是模拟黑客攻击,评估系统安全性的重要方法。 网络安全工程师需要掌握各种渗透测试工具,才能有效地发现和修复漏洞。 1. Nmap 功能: 强大的网络扫描器,可以扫描网络拓扑、识别主机和服务、发现开放端口和漏洞。 用途: 信息收集、漏洞…

一加Ace3/12/Ace2pro手机ColorOS14刷KernelSU内核ROOT-解决无限重启变砖

一加Ace3/一加12/一加11等手机升级了安卓14底层,并且ColorOS版本也更新到了14版本界面和功能都比之前的系统表现更加优秀,但刷机方面,相对之前存在一些差异,特别是KernelSU内核级别root权限,不再支持一键刷入KernelSU通…

MySQL的事务,函数和索引

事务 数据库的事务是一种机制,一种操作序列,包含了一组数据库的操作命令 简单了解:如果一个包含多个步骤的业务操作,被业务管理,要么这些操作同时操作成功,要么同时操作失败 事务是一个不可分割的工作逻…

HTTP网络协议,接口请求的内容类型 content-type(2024-04-27)

1、简介 Content-Type(内容类型),一般是指网页中存在的 Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件,这就是经常看到一些 PHP 网页点击的结果却是下载…

【Kylin】V10系统在VMware中分辨率太小,无法通过GUI修改分辨率的解决方法

【Kylin】V10系统在VMware中分辨率太小,无法通过GUI修改分辨率的解决方法 解决办法1.打开终端方法1:方法2 2.输入 xrandr 命令,查询分辨率支持的列表3.选择适合的分辨率 。 例如:xrandr -s 1440x900_60 问题如下图: 保…

C++感受10-Hello Object 生死版•下

搞懂以下三个重要知识点: 对象生命周期对象内存模型对象的可见性 ff12-HelloObject-生死版-下 1. 生命周期 只要是数据,就需要占用内存空间。程序将内存分成多个区,其中最重要的是栈区和堆区。放在栈区的数据,称为栈数据或栈对象&…

uniapp分包,以及通过uni-simple-router进行分包

先说一下uniapp的直接分包方式,很简单: 配置分包信息 打开manifest.json源码视图,添加 “optimization”:{“subPackages”:true} 开启分包优化 我们在根目录下创建一个pagesA文件夹,用来放置需要分包的页面 然后配置路由 运行到…

开源啦!一键部署免费使用!Kubernetes上直接运行大数据平台!

市场上首个K8s上的大数据平台,开源啦! 智领云自主研发的首个 完全基于Kubernetes的容器化大数据平台 Kubernetes Data Platform (简称KDP) 开源啦🚀🚀 开发者只要准备好命令行工具,一键部署 Hadoop,Hi…

【论文笔记】Language Models are Few-Shot Learners B部分

Language Models are Few-Shot Learners B 部分 回顾一下第一代 GPT-1 : 设计思路是 “海量无标记文本进行无监督预训练少量有标签文本有监督微调” 范式;模型架构是基于 Transformer 的叠加解码器(掩码自注意力机制、残差、Layernorm&#…

【win10相关】更新后出现未连接到互联网的问题及解决

问题背景 在win10更新完系统之后,第二天电脑开机后,发现无法上网,尝试打开百度,但是出现以下图片: 经过检查,发现手机是可以上网的,说明网络本身并没有问题,对防火墙进行了一些设置…

采用前后端分离Vue,Ant-Design技术开发的(手麻系统成品源码)适用于三甲医院

开发环境 技术架构:前后端分离 开发语言:C#.net6.0 开发工具:vs2022,vscode 前端框架:Vue,Ant-Design 后端框架:百小僧开源框架 数 据 库:sqlserver2019 系统特性 麻zui、护理、PACU等围术期业务全覆…

【机器学习】集成学习---Bagging之随机森林(RF)

【机器学习】集成学习---Bagging之随机森林(RF) 一、引言1. 简要介绍集成学习的概念及其在机器学习领域的重要性。2. 引出随机森林作为Bagging算法的一个典型应用。 二、随机森林原理1. Bagging算法的基本思想2. 随机森林的构造3. 随机森林的工作机制 三…