最新鸿蒙HarmonyOS 使用Progress、Toggle开发一个接单界面

Progress 进度条组件,用于显示内容加载或操作处理等进度。

接口
Progress(options: {value: number, total?: number, type?: ProgressType})

Toggle组件提供勾选框样式、状态按钮样式及开关样式。

接口
Toggle(options: { type: ToggleType, isOn?: boolean })

实现的界面。

在这里插入图片描述
在这里插入图片描述

代码在这里插入代码片

import { CommonConstants } from ‘…/common/constants/CommonConstants’
import router from ‘@ohos.router’
@Entry
@Component
struct Home {
@State slipmessage: string = ‘等待接单’
@State stacklabel: string = ‘等待’
@State slipcolorwait:Color=Color.Gray
@State value: number = 0
@State circlecolor:Color=Color.Gray
private intervalId:number
@State isOn:boolean=false
@State order_status:Resource=$r(‘app.media.order_receiving_end’)

startTimer() {
if (this.isOn) {
this.intervalId = setInterval(() => {
this.value += 5;
if (this.value > 100) {
this.value =2;
}
}, 500); // 每0.5秒钟执行一次
} else {
this.stopTimer(); // 如果isOn为false,则停止定时器
}
}
stopTimer() {
clearInterval(this.intervalId); // 停止setInterval
}
build() {
Column({space:5}) {
header()
Divider()
Flex({direction:FlexDirection.Row,justifyContent:FlexAlign.Center,wrap:FlexWrap.Wrap}){
Row(){
Stack(){
Progress({ value: this.value, total: 100, type:ProgressType.Ring })
.width(60).color(Color.Red)
.style({ strokeWidth: 3})
Text(this.stacklabel)
}
Text(this.slipmessage).fontSize(20).padding(10).textAlign(TextAlign.Center).width(‘50%’).fontColor(this.slipcolorwait).fontWeight(CommonConstants.TITLE_FONT_WEIGHT)
Toggle({ type: ToggleType.Switch, isOn: false })
.selectedColor(Color.Red)
.switchPointColor(‘#FFFFFF’)
.onChange((isOn: boolean) => {
console.info(‘Component status:’ + isOn)
this.isOn=isOn
if(isOn){
this.slipcolorwait=Color.Black
this.stacklabel=this.slipmessage=‘接单’
this.circlecolor=Color.Red
this.order_status=KaTeX parse error: Expected 'EOF', got '}' at position 89: … }̲else{ …r(‘app.media.order_receiving_end’)
this.stopTimer()
}

          }).width("15%")Text("|").fontColor('#cccccc').margin({left:5})Column(){Image(this.order_status).width(30).margin({bottom:5})Text('订单').fontSize(12).fontColor(Color.Gray)}.margin({bottom:10,right:5,left:5})}.width('100%').backgroundColor(Color.White).height('30%').height("33%")eachtitle({toptitle:'100',title:'钱包(元)'})eachtitle({toptitle:'100',title:'总订单数'})eachtitle({toptitle:'100',title:'总金额(元)'})eachtitle({img_src:$r('app.media.tixian_ic'),title:'提现'}).onClick(() => {router.pushUrl({url:"pages/Withdraw"})})eachtitle({img_src:$r('app.media.gerenzhongxin_ic'),title:'个人中心'}).onClick(()=>{router.pushUrl({url:"pages/DriverCenter"})})eachtitle({img_src:$r('app.media.shezhi_ic'),title:'设置'}).onClick(()=>{router.pushUrl({url:"pages/Driverset"})})}.width('96%').height('33%').backgroundColor(Color.White).padding(10)map()}.width('100%').height('100%')
}

}

@Extend(Text) function littleText(){
.fontSize(12).margin({top:10}).fontColor(Color.Grey)
}
@Extend(Image) function imagew(){
.width(30)
}
@Extend(Row) function roww(){
.width(‘33%’).height(‘33%’).justifyContent(FlexAlign.Center)
}

@Component
struct header{
build(){
Row({space:10}){
Blank()
Text(‘首页’).width(‘15%’).decoration({type:TextDecorationType.Underline,color:Color.Red})
Image($r(‘app.media.notice’)).width(‘6%’)
Column(){
Text(‘当日在线’).fontSize(12)
Text(‘1.2小时’).fontSize(12)
}.width(‘20%’)
}.margin({top:10,right:20}).justifyContent(FlexAlign.End).width(‘100%’)
}
}

@Component
struct map{
build(){
Row(){
Text(‘地图’)
}.width(‘96%’).height(‘61%’).backgroundColor(Color.Gray).justifyContent(FlexAlign.Center) .justifyContent(FlexAlign.Center).borderRadius(8)
}
}

@Component
struct eachtitle{
private img_src:Resource
private title:string
private toptitle:string
build(){
Row(){
Column(){
if(this.img_src == null ){
Text(this.toptitle).fontSize(20)
}else{
Image(this.img_src).imagew()
}

    Text(this.title).littleText()}
}.roww()  }

}

function msgbox(info:string=‘发生错误’ ){
AlertDialog.show(
{
title: ‘提示’,
message:info,
autoCancel: true,
alignment: DialogAlignment.Bottom,
offset: { dx: 0, dy: -20 },
confirm: {
value: ‘确认’,
action: () => {
console.info(‘Callback when confirm button is clicked’);
}
},
cancel: () => {
console.info(‘Closed callbacks’)
}
}
)
}

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

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

相关文章

oracle vm virtualBox虚拟机网卡设置

一、桥接模式 1、桥接模式自动分配IP 通过dns自动分配Ip方式、重启服务器可能会出现IP变动的情况。 选中虚拟机--设置--网络,链接方式选择“桥接网卡”,界面名称选择“需要桥接的网卡名称” 不清楚的可以在宿主机网络设置查看(需要桥接哪…

【每日一题】【12.20】2828.判别首字母缩略词

🔥博客主页: A_SHOWY🎥系列专栏:力扣刷题总结录 数据结构 云计算 数字图像处理 力扣每日一题_ 1.题目链接 2828. 判别首字母缩略词https://leetcode.cn/problems/check-if-a-string-is-an-acronym-of-words/ 2.题目描述 今天…

MySQL——表的增删查改

目录 一.Create(创建) 1.单行数据 全列插入 2.多行数据 指定列插入 3.插入否则更新 4. 替换 二.Retrieve(读取) 1. select 列 查询 2.where 条件 3.结果排序 4.筛选分页结果 三.Update (修改)…

Python实现多元线性回归模型信用卡客户价值预测项目源码+数据+项目设计报告

多元线性回归——信用卡客户价值预测 一、背景 这里以信用卡客户的客户价值为例来解释客户价值预测的具体含义: 客户价值预测就是指预测客户在未来一段时间内能带来多少利润,其利润可能来自信用卡的年费、取现手续费、分期手续费、境外交易手续费等。分…

三、万语始于HelloWorld,万物基于点灯之瑞萨RX23E-A 3线RTD PT100测温

一、概述/目的 二、RX23E-APT100三线制 2.1 资料来源 2.2 接线图 2.3 工程配置AFE24ΔΣADCPGA 2.4 代码 2.5 IIR数字滤波器 三、方案对比 三、万语始于HelloWorld,万物基于点灯之瑞萨RX23E-A 3线RTD PT100测温 一、概述/目的 介绍工业过程控制…

DAPLink源码固件编译与制作

DAPLink源码固件编译与制作 ✨这里以Air/stm32f103cbt6固件编译为例。📌DAPLink源码地址:https://github.com/ARMmbed/DAPLink🔖 如果不想自己生成,可以使用合宙提供的现成的工程以及固件;https://gitee.com/openLuat/…

官方指定Jmeter配置JVM堆内存方式

1.概述 在使用Jmeter做性能测试过程中,可能会应为默认设置的堆内存值较小出现堆内存溢出问题,此时解决的方式有两种,分布式测试和调大堆内存。下面介绍官方推荐调整堆内存方法。 2.调整Jmeter堆内存 2.1.介绍官方推荐堆内存调整方法(jmete…

mysql原理--连接的原理

1.连接简介 1.1.连接的本质 为了故事的顺利发展,我们先建立两个简单的表并给它们填充一点数据: mysql> CREATE TABLE t1 (m1 int, n1 char(1)); mysql> CREATE TABLE t2 (m2 int, n2 char(1)); mysql> INSERT INTO t1 VALUES(1, a), (2, b), (…

攻防世界-web-ics07

1. 题目描述 工控云管理系统项目管理页面解析漏洞 打开链接,是这样的一个界面 我们点击项目管理 可以看到,这里有一个查询界面,还有个view-source的链接,我们点击下view-source,可以看到这里面共有三段php代码 第一段…

在Spring Cloud中使用Zuul网关实现一个案例

本篇依旧是在Spring Cloud系列的博主已经搭建的Spring Cloud微服务模块上进行的,注意,本文依旧适合初学者和或者在Spring Cloud框架了解不是很深入的基础的开发者,本系列说不上有多高大上,博主坚持通过简单的案例,让开…

嵌入式中GPIO的工作原理-面试工作必会技能

GPIO工作方式 1、4种输入模式 输入浮空输入上拉输入下拉模拟输入 如下图为GPIO的基本结构,它主要由4部分组成,其中我们所看到的的最右边的I/O引脚,也就是芯片外接可看到的引脚,其它的部分都是GPIO内部的结构。 ①保护二极管 保护…

【新版HI3559AV100开发注意事项(二)】

#新版HI3559AV100开发注意事项(二) 十一、请问海思HI3559AV100 SPC030资料里面的HI3559ADMEB_VER_C_PCB.pcb是用什么软件打开啊? 答:PADS VX 2.2 Altium designer 十二、hi3559级联问题请教 在SDK的文档中只看到了两块Hi3559板…

服务器数据恢复-EMC存储raid5磁盘物理故障离线的数据恢复案例

服务器数据恢复环境&故障: 一台emc某型号存储服务器,存储服务器上组建了一组raid5磁盘阵列,阵列中有两块磁盘作为热备盘使用。存储服务器在运行过程中有两块磁盘出现故障离线,但是只有一块热备盘激活,最终导致该ra…

【️如何理解Java中的多态】

✅如何理解Java中的多态? ✅理解Java中的多态 ✅ 扩展知识仓✅方法的重载✅方法的重写✅重载和重写的区别区分 ✅理解Java中的多态 多态的概念比较简单,就是同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。 如果…

Java 中的内部类的定义

目录 一、成员内部类 二、静态内部类 三、局部内部类 四、匿名内部类 一、成员内部类 public class InnerClass {String name;private Integer age;static String hobby;/*** 成员内部类* 1、成员内部类中只能定义非静态属性和方法* 2、成员内部类中可以访问外部类的成员&a…

vue3表格导入导出.xlsx

在这次使用时恰好整出来了,希望大家也能学习到,特此分享出来 使用前确保安装以下模块,最好全局配置element-plus ### 展示一下 ### ###导出选项 ### ###导入de数据 ### 安装的模块 npm install js-table2excel // 安装js-table2excel n…

自动化测试工具选择指南

随着软件开发周期的不断缩短和需求的增加,自动化测试变得愈发重要。然而,选择适合项目的自动化测试工具并非易事。以下是一些指导原则,帮助你在众多自动化测试工具中做出明智的选择。 1. 项目需求分析 在选择自动化测试工具之前,首…

海康威视对讲广播系统 RCE漏洞复现(CVE-2023-6895)

0x01 产品简介 Hikvision Intercom Broadcasting System是中国海康威视(Hikvision)公司的一个对讲广播系统。 0x02 漏洞概述 Hikvision Intercom Broadcasting System 3.0.3_20201113_RELEASE(HIK)版本存在操作系统命令注入漏洞,该漏洞源于文件/php/ping.php的参数jsonda…

阿里云k8s集群搭建

文章目录 一、安装前准备1.环境2.k8s集群规划 二、k8s 安装1. centos基础设置2. docker 安装3. k8s安装3.1 添加阿里云 yum 源3.2 安装 kubeadm、kubelet、kubectl3.3 部署 Kubernetes Master3.4 加入 Kubernetes Node3.5 部署 CNI 网络插件3.6 测试 kubernetes 集群 一、安装前…

Python | Flask测试:发送post请求的接口测试

HTTP/1.1 协议规定的 HTTP 请求方法有OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 几种。POST通常用来向服务端提交数据,主要用于提交表单、上传文件。 HTTP 协议是以ASCII码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为…