UI(二)控件

文章目录

          • PatternLock
          • Progress
          • QRCode
          • Radio
          • Rating
          • RichText
          • ScollBar
          • Search
          • Select
          • Slide
          • Span
          • Stepper和StepperItem
          • Text
          • TextArea
          • TextClock
          • TextInput
          • TextPicker
          • TextTimer
          • TimePicker
          • Toggle
          • Web

PatternLock

PatternLock是图案密码锁组件,以九宫格图案的方式输入密码,用于密码验证场景,指在PatternLock组件区域按下时开始输入状态,手指离开时结束输入状态完成密码输入

PatternLock().sideLength(200) //设置宽度和高度  (宽高相同).circleRadius(9) //设置宫格中圆点的半径.pathStrokeWidth(18) //设置连线的宽度 设置为0或者负数等非法值不显示.activeColor(Color.Blue) //设置圆点在"激活"状态下的填充颜色.selectedColor(Color.Red) //设置圆点在"选中"状态下的填充颜色.pathColor(Color.Green)  //设置连线颜色.backgroundColor(Color.Yellow).autoReset(true)  //设置在完成密码输入后,再次在组件区域按下时是否重置组件状态

image.png

Progress

Progress 进度条组件用于显示内容加载或者操作进度

  • value: 当前进度值
  • total:总的进度值
  • type:样式

ProgressType有五种

  • Linear:线性
  • Ring:环形无刻度,环形圆环逐渐显示至完全填充效果
  • Eclipse:圆形样式,类似于月圆月缺的效果
  • ScaleRing:环形带有刻度
  • Capsule:胶囊型
Progress({ value: 25, total: 100, type: ProgressType.Linear }).width('100%').margin({ top:20 })Progress({ value:20, total:100, type:ProgressType.Ring }).width(150).margin({ top:20 })Progress({ value:20, total:100, type:ProgressType.Eclipse }).width(150).margin({ top:20 })Progress({ value:20, total:100, type:ProgressType.ScaleRing }).width(150).margin({ top:20 })Progress({ value:20, total:100, type:ProgressType.Capsule }).width(150).margin({ top:20 })

image.png

QRCode

QRCode会自动将URL连接转为二维码的图片

QRCode('https://www.baidu.com').width(240).height(240).backgroundColor(Color.Yellow)

image.png

Radio

Radio单选框,提供相应的用户选择项,当前单选框所属的群组名称,相同的group的Radio只能有一个选中

Radio({ value:'radio1', group:'group' }).checked(false).width('40%').height('5%')Radio({ value:'radio2', group:'group'}).checked(true).width('40%').height('5%')Radio({ value:'radio3', group:'group'}).checked(true).width('40%').height('5%')

image.png

Rating
Rating({rating:1,indicator:false}) //rating 初始星数  indicator:是否仅作为指示器使用.stars(5).stepSize(0.5).onChange((value:number) => {console.log("number->"+value)})
RichText

RichText是富文本组件,可以解析并显示HTML格式文本。

//RichText  富文本组件
RichText('<h1>Hello World</h1>')
ScollBar

ScollBar用于配合可滚动组件使用,如List、Grid、Scoll等
ScollBar实例化构造函数为ScollBar(value:{scoller:Scoller,direction?:ScollBarDirection,state?:BarState})

  • Scoller:可滚动组件的控制器,用于与可滚动组件进行绑定
  • ScollBarDirection:滚动条的方向,控制可滚动组件对应方向的滚动。默认值是ScollBarDirection.Vertical
  • BarState:滚动条状态,默认值是BarState.Auto
@Component
@Entrystruct compenent06{private scoller:Scroller = new Scroller()private dataScoller:number[] = [0,1,2,3,4,5,6,7,8,9,10,11]build(){Row(){//RichText  富文本组件//  RichText('<h1>Hello World</h1>')Stack({alignContent:Alignment.End}){//定义一个可滚动组件 定义为scollerScroll(this.scoller){Flex({direction:FlexDirection.Column}){ForEach(this.dataScoller,(item) =>{Row(){Text(item.toString()).width('90%').height('10%').backgroundColor(Color.Pink).fontSize(20).textAlign(TextAlign.Center).margin({top:5})}},item => item)}.margin({left:50,right:50})}.scrollBar(BarState.Off).scrollable(ScrollDirection.Vertical)}//通过scoller进行绑定 绑定scollerScrollBar({scroller:this.scoller,direction:ScrollBarDirection.Vertical,state:BarState.Auto}){Text().width(30).height(100).borderRadius(20).backgroundColor(Color.Red)}.width(80).backgroundColor(Color.Gray)}}
}

格式工厂 屏幕录像20240625_174450 00_00_00-00_00_09~1.gif

Search
Search({placeholder:'输入内容...'}).searchButton('搜索')  //搜索按钮的文字.width('100%').height('5%').placeholderColor(Color.Red)  // 提示文本样式.placeholderFont({size:18,weight:200}) // 提示文字字体大小.textFont({size:18,weight:200})   // 搜索框文本字体大小.onSubmit((value:String) => {  // 单机搜索图标、搜索按钮或者按下软键盘搜索按钮时触发的回调}).onChange((value: String) => {  // 输入内容发生改变时触发的回调})
Select

下拉选择菜单

Select([{ value: 'Java核心编程', icon: $r('app.media.img1') },{ value: 'C语言程序设计', icon: $r('app.media.img2') },{ value: 'HarmonyOs应用开发', icon: $r('app.media.img3') },{ value: 'Vue全站开发', icon: $r('app.media.img4') }]).selected(2) //默认选中的下拉列表索引.value('选择课本') //下拉按钮本身的文本内容.font({ size: 20, weight: 500 }) //下拉按钮本身的文本样式.fontColor(Color.Red) //下拉按钮文本颜色.selectedOptionFont({ size: 20, weight: 400 }) //下拉菜单项中项的文本样式.optionFont({ size: 20, weight: 400 }) //下拉菜单项的文本样式.onSelect((index: number, value?: string) => { // 选中监听 index 为索引下标 value是选中值console.log('info', 'index->' + index)console.log('info', 'value->' + value)})

格式工厂 屏幕录像20240625_230642 00_00_01-00_00_08.gif

Slide

Slide滑动条组件,用于快速调节设置值,如音量调节,亮度调节

Slider({value: 40,step: 5,style: SliderStyle.InSet, //滑块在滑轨上direction: Axis.Vertical //方向
}).showSteps(true).height('50%').onChange((value: number, mode: SliderChangeMode) => {})Slider({value:40,min:0,max:100,step:5,style:SliderStyle.OutSet,  //滑块在轨道内direction:Axis.Horizontal
}).blockColor(Color.Red)  // 设置滑块的颜色.trackColor(Color.Blue) //滑轨的背景色.selectedColor(Color.Green) // 已经滑动的颜色.showTips(true) //设置气泡提示.showSteps(true) // 是否显示步长刻度值.trackThickness(4)  //设置滑轨粗细.width('80%')
Span
  • 作为Text组件的子组件,用于显示行内文本
  • 主要属性
    • decoration:设置文本装饰线样式及其颜色
    • letterSpacing:设置文本字符间间距
    • textCase:设置文本大小写
Text(){Span('文本添加下横线').decoration({type:TextDecorationType.Underline,color:Color.Green}).fontSize(24)
}Text(){Span('文本添加删除线').decoration({type:TextDecorationType.LineThrough,color:Color.Red}).fontSize(24)
}Text(){Span('文本添加上横线').decoration({type:TextDecorationType.Overline,color:Color.Red}).fontSize(20)
}Text(){Span('测试字间距').letterSpacing(10).fontSize(20)
}Text(){Span('测试转化为小写  ABCDEFG').textCase(TextCase.LowerCase).decoration({type:TextDecorationType.None}).fontSize(20)
}

image.png

Stepper和StepperItem

Stepper是步骤导航器组件,适用于引导用户按照步骤完成任务的导航场景,StepperItem是Stepper组件的页面子组件。

Stepper({index:0
}){StepperItem(){Text('第一页').fontSize(20)}.nextLabel('下一页')StepperItem(){Text('第二页').fontSize(20)}.nextLabel('下一页').prevLabel('上一页')StepperItem(){Text('第三页').fontSize(20)}.prevLabel('上一页')
}

格式工厂 屏幕录像20240626_101304 00_00_01-00_00_10.gif

Text
textAlign设置文本在水平方向的对齐方式(TextAlign.Center/ TextAlign.Start /TextAlign.End )
textOverflow设置文本超长时的显示方式。默认值是TextOverflow.Clip
maxLines设置文本的最大行数,默认值是Infinity
lineHeight设置文本的行高,设置值不大于0时,不限制文本行高,自适应字体大小,
decoration设置文本装饰线样式以及颜色
baselineOffset设置文本基线的偏移量,默认值为0
letterSpacing设置文本字符间间距
minFontSize设置文本最小显示字号,需要配合maxFontSize,maxline或布局大小限制使用,单独设置不生效
maxFontSize设置文本最大显示字号,需要配合minFontSize,maxline或布局大小限制使用,单独设置不生效
textCase设置文本大小写,默认为TextCase.Normal
copyOption组件支持设置文本是否可粘贴复制
//单行文本 红色单行文本居中
Text('红色单行文本居中').fontColor(Color.Red).textAlign(TextAlign.Center).width('100%')// 带有边框左对齐文本
Text('单行文本带边框左对齐').fontSize(20).fontColor(Color.Blue).border({width:1}).textAlign(TextAlign.Start).padding(10).width('100%').margin({top:20})// 多行文本 超出maxLines截断内容
Text('寒雨连江夜入吴,平明送客楚山孤,洛阳亲友如相问,一片冰心在玉壶ddddddddd').textOverflow({overflow:TextOverflow.None})  //超出截断内容.maxLines(2).fontSize(20).padding(10)//超出maxline显示省略号
Text('寒雨连江夜入吴,平明送客楚山孤,洛阳亲友如相问,一片冰心在玉壶ddddddddd').textOverflow({overflow:TextOverflow.Ellipsis}).maxLines(2).fontSize(20).padding(10).lineHeight(50)  //设置行高

image.png

TextArea

TextArea是多行文本输入框组件,当输入的内容超过组件宽度会自动换行显示。

placeHolderColor设置placeholder文本颜色
placeholderFont设置placeholder文本样式
textAlign输入框的水平对齐方式
caretColor输入框光标颜色
inputFilter通过正则表达式设置输入过滤器,匹配表达式的输入允许条件显示,不匹配的则过滤
copyOption设置输入的文本是否可复制
TextArea({placeholder:'请输入一段介绍..'
}).placeholderFont({size:20,weight:400})// 设置placeholder的文本样式.width(336).height(100).caretColor(Color.Red) //光标颜色.margin(20).fontSize(16).backgroundColor(Color.Orange)

image.png

TextClock
TextClock().margin(20).fontSize(30)
TextClock().margin(20).fontSize(30).format('yyyyMMdd hh:mm:ss') //日期格式化

image.png

TextInput

单行文本输入框组件

type设置输入框类型,默认值是InputType.Normal
placeholderColor默认值文本颜色
placeholderFont默认值文本样式
entryKeyType设置输入法回车键类型,目前仅支持默认类型显示
caretColor设置光标颜色
maxLength设置最大长度
showPasswordIcon在密码输入模式下,是否展示输入框末尾的图标
TextInput({placeholder:'请输入...'}).placeholderColor(Color.Gray).placeholderFont({size:30,weight:300}).caretColor(Color.Blue)  //光标颜色.width('100%').margin(20).fontColor(Color.Green).type(InputType.Password) //设置密码类型.maxLength(11) //最大输入长度.showPasswordIcon(true)  // 输入框末尾的图标显示

image.png

TextPicker

TextPicker是滑动选择文本内容的组件

TextPicker({range:['Java 核心编程','Android 第一行代码','HarmonyOS入门','Vue 全站开发'],selected:1}).width('100%').defaultPickerItemHeight(30) //默认Pick各项的高度

格式工厂 屏幕录像20240626_141459 00_00_00-00_00_04.gif

TextTimer

TextTimer是通过文本显示计时信息并控制其计时器状态的组件,TextTimer组件支持绑定一个TextTimeController来控制文本计时器。

private textTimerController: TextTimerController = new TextTimerController()
TextTimer({controller:this.textTimerController,isCountDown:true,  //是否倒计时  默认为falsecount:3000  //倒计时时间,单位为毫秒
}).format('mm:ss.SS')  //格式化.fontColor(Color.Red).margin({top:30}).fontSize(30)Row(){Button('开始').type(ButtonType.Capsule).onClick(() => {this.textTimerController.start()})Button('暂停').onClick(() => {this.textTimerController.pause()})Button('重置').onClick(() => {this.textTimerController.reset()})
}

格式工厂 屏幕录像20240626_143013 00_00_00-00_00_09.gif

TimePicker

TimePicker是滑动选择时间的组件

TimePicker().useMilitaryTime(true)  // 是否设置为24小时制.onChange((value: TimePickerResult) => { //选择监听})
Toggle

Toggle组件提供复选框样式,状态按钮样式以及开关样式,仅当ToggleType为Button时可包含子组件。
Toggle组件的构造函数参数主要有两个:
type:开关类型,可以是Checkbox,Button,Switch
isOn:开关是否打开,设置Switch类型的圆形滑块颜色

Toggle组件还可以设置一下属性
selectedColor:设置组件打开状态的背景颜色
switchPointColor: 设置Switch类型的圆形滑块颜色

//设置为Switch样式
Toggle({type:ToggleType.Switch,isOn:true}).size({width:40,height:40}).selectedColor(Color.Red)  //组件打开状态下的背景颜色.switchPointColor(Color.Blue) // Switch类型的圆形滑块颜色//设置为CheckBox样式
Toggle({type:ToggleType.Checkbox,isOn:false}).size({width:40,height:40}).selectedColor(Color.Red)//设置为Button样式
Toggle({type:ToggleType.Button,isOn:false}).size({width:40,height:40}).selectedColor(Color.Red)

image.png

Web

用于展示网页的组件,需要加上网络权限

import webview from '@ohos.web.webview';private webviewController:webview.WebviewController = new webview.WebviewController()Web({src:"https://www.baidu.com",controller:this.webviewController})

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

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

相关文章

数据质量管理-一致性管理

前情提要 根据GB/T 36344-2018《信息技术 数据质量评价指标》的标准文档&#xff0c;当前数据质量评价指标框架中包含6评价指标&#xff0c;在实际的数据治理过程中&#xff0c;存在一个关联性指标。7个指标中存在4个定性指标&#xff0c;3个定量指标&#xff1b; 定性指标&am…

Centos7 Cpolar内网穿透工具

你是否想把本地测试的项目挂载到公网上提供给别人调用查看&#xff08;当然这是在你没有服务器的情况下&#xff0c;如果有请跳过&#xff09; 服务器系统&#xff1a;CentOS-7-x86_64-DVD-2009.iso 这是我在本地测试使用的服务器系统 Coplar官网 注册方式&#xff1a;邮箱注…

维吉尼亚密文解密小程序

维吉尼亚密文解密小程序 这几天在看CTF相关的课程&#xff0c;涉及到古典密码学和近代密码学还有现代密码学。自己编了一个解密小程序。 Vigenere 维吉尼亚密码 维吉尼亚是多表替换密码中比较典型的代表&#xff0c;维吉尼亚密码是在凯撒密码基础上产生的一种加密方法&#…

SAP-SD-修改字段描述

在销售订单中,想修改某字段名的描述,以客户组12为例,如下图 现在想把这个字段修改为客户组1,选择-F1 双击“数据元素” 双击 域 转到-翻译

安卓免费短剧大全v1.0.2/全部无需VIP实时更新全平台短剧

在当今社会&#xff0c;时间成为了许多人最为宝贵的资源。忙碌的工作与繁重的日常事务&#xff0c;常常让我们难以拨出时间沉浸于长篇大幅的影视作品中。对于那些热爱剧情、渴望在生活中点缀一抹戏剧色彩的朋友们而言&#xff0c;这无疑是一种挑战。 然而&#xff0c;随着免费…

Windows安全中心打开白屏的解决方法

方法一&#xff08;无效可以尝试方法二三&#xff09;&#xff1a; 1. 复制以下内容&#xff0c;打开记事本粘贴并保存&#xff0c;同时将记事本文件的【txt后缀名改为reg】:  Windows Registry Editor Version 5.00&#xff3b;HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microso…

cesium全家桶总目录

文章目录 Cesium全家桶总目录1 MyCesiumJS Basic1.1 使用Vite TypeScript搭建开发环境1.2 加载在线瓦片地图数据1.3 加载离线地图数据1.4 加载多种格式外部数据1.5 卫星云图1.6 浏览器控制台查看位置角度1.7 绘制直线段以避免地球曲率的影响1.8 通过canvas绘制billboard1.9 切…

【数据分享】《国际统计年鉴》1996-2022

公众号新功能 目前公众号新增以下等功能 1、处理GIS出图、Python制图、区位图、土地利用现状图、土地利用动态度和重心迁移图等等 2、核密度分析、网络od分析、地形分析、空间分析等等 3、地理加权回归、地理探测器、生态环境质量指数、地理加权回归模型影响因素分析、计算…

和AI高效对话,掌握这6个原则就够了!

一、前言 2023年11月30日&#xff0c;ChatGPT3.5发布以后&#xff0c;震撼了全球。很多普通人发现&#xff0c;只要会提问题&#xff0c;自己也可以大大方方地拥抱AI和大模型的浪潮~ 对大模型AI提问的技术&#xff0c;就是我们常说的Prompt技术。 Prompt技术&#xff0c;全称为…

Linux 安装ElasticSearch + FSCrawler 扫描本地的文件资源

文章目录 0. 前言1. 安装ElasticSearch1.1 下载安装包1.2 新增用户1.3 解压安装包1.4 更改文件夹用户1.5 修改配置文件1.6 修改系统配置1.7 启动集群 2. 安装FSCrawler2.1 下载安装包2.2 创建配置文件2.3 修改配置文件2.4 启动2.5 验证是否被索引 0. 前言 Elasticsearch 是一个…

python保存csv的3种方法

pandas的to_csv方法 embeddings_df.to_csv("patients_note_embedding.csv", indexFalse) #embeddings_df改成自己的数据名字np.savetxt方法 np.savetxt("patients_note_embedding.csv", embeddings_df.values, delimiter",", fmt"%s"…

CDGA|数据治理新策略:完善分级分类,打破算法偏见枷锁

在数字化时代&#xff0c;数据已成为企业运营和社会发展的核心驱动力。然而&#xff0c;随着数据量的爆炸性增长&#xff0c;数据治理的重要性也日益凸显。其中&#xff0c;数据分级分类和算法偏见等问题成为了当前数据治理面临的关键挑战。 数据分级分类&#xff1a;确保数据的…

linux的安装程序 与 文件 相关的命令

#Linux系统命令 软件安装卸载命令 软件包介绍 软件包中包含安装的可执行程序&#xff08;binary&#xff09;,包含软件的说明文档&#xff0c;包含软件的使用的 man手册等&#xff0c;将这些内容打包成一个软件包&#xff0c;可以给用户安装使用。 (1).deb&#xff1a;ubu…

【面试题】Linux下的GDB(第二篇)

1.GDB是什么&#xff1f;其主要功能有哪些&#xff1f; GDB是GNU开源组织发布的一个强大的Unix/Linux下的程序调试工具。其主要功能包括&#xff1a; 启动用户程序后&#xff0c;可以按照用户的要求随意运行程序。 可让被调试的程序在用户所设定的断点处停住。 当程序被停住…

【Web服务与Web应用开发】【C#】创建第一个简单的WCF服务应用程序 WCF Service Application(图文详情)

目录 0.简介 1.环境 2.知识点 3.详细过程 1&#xff09;打开 Visual Studio 2019 &#xff0c;下载所需插件 2&#xff09;创建WCF服务应用项目 3&#xff09;打开 【IService1.cs 】在此处定义服务函数 4&#xff09;打开 【Service1.svc.cs】实现服务函数 5&#x…

linux的vim最全教程

基础概念 模式&#xff1a;Vim有多种模式&#xff0c;主要为命令模式(Normal mode)、插入模式(Insert mode)、可视模式(Visual mode)、末行模式(Command-line mode)等。默认启动时处于命令模式。 进入与退出&#xff1a; 启动&#xff1a;在终端输入vim [filename]或vi [filen…

LINUX centos 安装jenkins超超超超超超级详细步骤

Jenkins安装 配置jdkmavengit jenkins 拉取 配置 jdk 1.安装jdk8 yum install java-1.8.0-openjdk-devel2.检查版本 java -version出现如下图查看版本信息 3. 设置JAVA_HOME环境变量 vim /etc/profile最下方输入 export JAVA_HOME/usr/lib/jvm/java-1.8.0-openjdk expor…

在 Vue 中调用方法传入值,并在方法执行期间修改传入的值,是否会影响方法内部的值,取决于传入值的类型

在 Vue 中调用方法传入值&#xff0c;并在方法执行期间修改传入的值&#xff0c;是否会影响方法内部的值&#xff0c;取决于传入值的类型 一、前言1. 传入基本类型值&#xff08;如数字、字符串&#xff09;2.传入引用类型值&#xff08;如对象、数组&#xff09; 一、前言 在…

Qt 实战(6)事件 | 6.2、事件过滤器

文章目录 一、事件过滤器1、什么是事件过滤器&#xff1f;2、如何实现事件过滤器&#xff1f;3、应用示例4、总结 前言&#xff1a; 在Qt的事件处理机制中&#xff0c;事件过滤器&#xff08;Event Filter&#xff09;是一种非常强大且灵活的工具&#xff0c;它允许开发者在一个…