04-鸿蒙4.0学习之样式装饰器相关

04-鸿蒙4.0学习之样式装饰器

@styles装饰器:定义组件重用样式

/*** @styles装饰器:定义组件重用样式*/
@Entry
@Component
struct StyleUI {@State message: string = '@styles'@Styles commonStyle(){.width(200).height(100).backgroundColor(Color.Gray).margin(5)}build() {Row() {Column() {Text(this.message).fontSize(50).fontWeight(FontWeight.Bold).commonStyle()Button().commonStyle()Image('').commonStyle()Row(){}.commonStyle()}.width('100%')}.height('100%')}
}
// 外部通用样式函数 使用function 关键字 内部样式函数 内部不需要function  内部优先级 > 外部样式
// 弊端:只能写通用样式 不能传参
//  @Styles function commonStyle(){
//    .width(200)
//    .height(100)
//    .backgroundColor(Color.Gray)
//   }

@Extend 扩展组件样式

/***@Extend 扩展组件样式*/
@Entry
@Component
struct ExtendFun {@State message: string = '@Extend'@State count: number = 0build() {Row() {Column() {Text(this.message).fontSize(50).fontWeight(FontWeight.Bold)Divider()Text('HarmonyOS4.0').sizeColor(40, Color.Blue)Text('第二行').sizeColor(40, 'red')Text('第三行').textStyle(20, "#6699ff")Text('第四行').textStyle(50, Color.Pink)Button(this.count.toString()).btnStyle(()=>{this.count++})}.width('100%')}.height('100%')}
}@Extend(Text) function sizeColor(fs: number, fc: Color | string) {.fontSize(fs).fontColor(fc)
}@Extend(Text) function textStyle(fs: number, fc: Color | string) {.sizeColor(fs, fc).fontStyle(FontStyle.Italic).fontWeight(FontWeight.Bold)
}@Extend(Button) function btnStyle(click:()=>void) {.fontSize(40).width(150).height(50).onClick(()=>{click()})
}

多态样式

/*** 多态样式*/
@Entry
@Component
struct StateStyleFun {@State message: string = 'stateStyles()'build() {Row() {Column() {Button(this.message).fontSize(50).fontWeight(FontWeight.Bold).stateStyles({normal: {.backgroundColor(Color.Red)},focused: {.backgroundColor(Color.Pink)},pressed: {.backgroundColor(Color.Blue)}})}.width('100%')}.height('100%')}
}

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

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

相关文章

Linux Nmap命令解析(Nmap指令)(功能:主机发现、ping扫描、arp扫描、端口扫描、服务版本检测、操作系统识别等)

文章目录 Linux Nmap 命令解析简介Nmap 的核心功能主机发现端口扫描服务版本检测OS 指纹识别(操作系统指纹识别)脚本扫描 安装 NmapNmap 命令结构Nmap 命令文档英文中文 主机发现Ping 扫描ARP 扫描关于nmap -PR(ARP Ping Scan)和n…

CentOS7.9虚拟机EDA环境,支持模拟集成电路、数字集成电路、数模混合设计全流程,包含工艺库

目录 前言一、配置准备工作1.1 网盘文件说明1.2 EDA工具介绍 二、虚拟机运行2.1 虚拟机工具启动2.2 软件配置使用2.3 Module工具切换环境变量和软件版本 获取方法附录:部分EDA工具运行效果图 前言 搭建了CentOS7.9虚拟机环境,工具包括但不限于&#xff…

json处理由fastjson换jackjson

fastjson没有jackjson稳定,所以换成jackjson来处理对象转json和json转对象问题。 首先下载jackjson包,三个都要引用 然后修改实现类 package JRT.Core.Util;import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.ja…

安防视频监控汇聚EasyNVR视频集中存储平台级联上级时下级未回复原因是什么?该如何解决?

安防监控系统EasyNVR视频云存储平台可实现设备接入、实时直播、录像、检索与回放、视频云存储、视频分发等视频能力服务,可覆盖全终端平台(pc、手机、平板等终端),在智慧工厂、智慧工地、智慧社区、智慧校园等场景中有大量落地应用…

unity3d地图、地面跟着NPC跑

清除烘焙后,再 将地图、地面的设置为非静态。只设置NPC的寻路路面为静态,再烘焙

VS2010配置opencv2.4.10

1.下载opencv2.4.10,百度网盘链接如下: 链接:https://pan.baidu.com/s/1UdoQJbRUEB_G2urT703xYQ 提取码:7lbd 2.运行opencv-2.4.10.exe,将文件提取到一个自定义目录里: 3.添加系统环境变量 在“系统变量…

持续集成交付CICD:GitLab Webhook触发Jenkins流水线

目录 一、实验 1.Jenkins远程下载GiaLab仓库代码 2.curl远程触发Jenkins流水线 3.GitLab Webhook触发Jenkins流水线 二、问题 1.GitLab配置Webhook时报错 一、实验 1.Jenkins远程下载GiaLab仓库代码 (1) Jenkins添加选项参数 (2)添加字符参数 (3)查看构建参数情况 (4)添…

C++ 背包理论基础01 + 滚动数组

背包问题的重中之重是01背包 01背包 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 每一件物品其实只有两个状态,取或者不…

桥接设计模式

package com.jmj.pattern.bridge;/*** 视频文件(实现化角色)*/ public interface VideoFile {void decode(String fileName); }package com.jmj.pattern.bridge;public class RmvFile implements VideoFile{Overridepublic void decode(String fileName) {System.out.println(&…

语文老师怎么和家长沟通

作为一位语文老师,深知教育不单单是传授知识,更是引导学生发展潜能,培养品格。而在这个过程中,与家长建立良好的沟通关系是至关重要的。 建立信任关系 与家长沟通的第一步是建立信任关系。作为老师,需要展现出专业、热…

堆排序(详解)

在上篇文章中,我们说利用堆的插入和删除也可以排序数据,但排序的只是堆里面的数组;同时每次排序数据都要单独写一个堆的实现,很不方便,这次就来着重讲讲如何使用堆排序。 1.建堆 给了你数据,要利用堆对数据…

开发定制化抖音票务小程序的技术解析

通过定制化抖音票务小程序,可以为用户提供更加个性化的活动体验,同时也为企业和品牌提供了更多的营销机会。 一、小程序开发框架的选择 在开发定制化抖音票务小程序之前,选择合适的小程序开发框架至关重要。目前,主流的小程序框…

如何查看当前conda可供安装的所有pytorch版本

你可以使用以下命令在 Conda 中查看所有可用的 PyTorch 版本: conda search -c pytorch pytorch这将列出 pytorch 通道中的所有可用版本。请注意, -c pytorch 指定了 pytorch 通道,以确保搜索的是 pytorch 官方通道中的包。在输出中&#xf…

Unity之ARFoundation如何实现BodyTracking人体跟踪

前言 ARBodyTracking,就是指通过手机AR扫描并精确的捕获人物的肢体部位的技术。如下图所示 这项技术目前是有苹果的ARKit提供,苹果的body tracking 功能需要使用配备 TrueDepth 摄像头的设备,配备 A12 仿生芯片、运行 iOS 13 或更高版本的设备,比如 iPhone X 及更新机型。…

湘潭大学 软件需求分析 填空题 期末考试复习

说明 因为老师删减了一些内容,所以全部的考试内容如下 第一章 1.需求规格说明应精确的描述一个软件系统必须提供的功能和性能 2.我们应该知道需求工程是指应用工程化的方法,技术和规格来开发和管理软件的需求。需求工程的目标就是要获取高质量的软件需…

【开源】基于JAVA的城市桥梁道路管理系统

项目编号: S 025 ,文末获取源码。 \color{red}{项目编号:S025,文末获取源码。} 项目编号:S025,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 查询城市桥…

SpringBoot RestTemplate 的使用

一、简介 RestTemplate 在JDK HttpURLConnection、Apache HttpComponents、OkHttp等基础上&#xff0c;封装了更高级别的API&#xff0c;默认依赖JDK HttpURLConnection&#xff0c;连接方式默认长连接。 二、使用 2.1、引入依赖 <dependency><groupId>org.spri…

离线配置conda环境

前言 最近有个小任务&#xff0c;就是需要在一台不可以联网的全新电脑上配置好环境&#xff0c;运行一个深度学习工程。 记录下自己的一些操作&#xff0c;用来将来使用。 看了网上的一些操作&#xff0c;包括 &#xff08;1&#xff09;直接拷贝整个envs的文件&#xff0c;然…

1-2-3图片的排列

目录 1.展示效果 2.基础方法源码展示 ①div部分展示 ②css部分展示 3.接口方法源码展示 scoped使用 1.展示效果 2.基础方法源码展示 ①div部分展示 <view class"container"> <view class"cover"> <im…

Go打印行号和文件名

runtime.Caller func Caller(skip int) (pc uintptr, file string, line int, ok bool)Caller报告当前go程调用栈所执行的函数的文件和行号信息。实参skip为上溯的栈帧数&#xff0c;0表示Caller的调用者&#xff08;Caller所在的调用栈&#xff09;。函数的返回值为调用栈标识…