14.鸿蒙HarmonyOS App(JAVA)时钟组件计时器倒计时单选按钮复选框开关switch与开关按钮ToggleButton图像组件示范

news/2024/7/21 8:16:22 标签: harmonyos, 华为

鸿蒙HarmonyOS App(JAVA)

时钟组件

计时器

倒计时

单选按钮

复选框

开关switch

开关按钮ToggleButton

图像组件

ability_main.xml

<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayout
    xmlns:ohos="http://schemas.huawei.com/res/ohos"
    ohos:height="match_parent"
    ohos:width="match_parent"
    ohos:alignment="center"
    ohos:background_element="#FC708FF5"
    ohos:orientation="vertical">

    <Text
        ohos:id="$+id:text_helloworld"
        ohos:height="match_content"
        ohos:width="380vp"
        ohos:background_element="$graphic:background_ability_main"
        ohos:layout_alignment="horizontal_center"
        ohos:text="$string:mainability_HelloWorld"
        ohos:text_size="30vp"
        />
    <Clock
        ohos:id="$+id:clock"
        ohos:height="match_content"
        ohos:width="380vp"
        ohos:background_element="#FF80EF66"
        ohos:layout_alignment="horizontal_center"

        ohos:text_size="30vp"
        />
    <Text

        ohos:height="match_content"
        ohos:width="380vp"
        ohos:background_element="$graphic:background_ability_main"
        ohos:layout_alignment="horizontal_center"
        ohos:text="计时器组件(TickTimer)"
        ohos:text_size="30vp"
        />
    <!--正计时 -->
    <TickTimer
        ohos:id="$+id:ticktimer"
        ohos:height="match_content"
        ohos:width="380vp"
        ohos:background_element="#FF80EF66"
        ohos:layout_alignment="horizontal_center"

        ohos:text_size="30vp"
        />
    <!--倒计时 -->
    <TickTimer
        ohos:id="$+id:ticktimer_countdown"
        ohos:height="match_content"
        ohos:width="380vp"
        ohos:background_element="$graphic:background_ability_main"
        ohos:layout_alignment="horizontal_center"
        ohos:count_down="true"
        ohos:text_size="30vp"
        />
    <Text

        ohos:height="match_content"
        ohos:width="380vp"
        ohos:background_element="#FF80EF66"
        ohos:layout_alignment="horizontal_center"
        ohos:text="单选按钮:"
        ohos:text_size="30vp"
        />
    <RadioContainer
        ohos:id="$+id:radio_container"
        ohos:height="match_content"
        ohos:width="match_content"
        ohos:alignment="center"
        ohos:background_element="#FC708FF5"
        ohos:layout_alignment="horizontal_center">
        <RadioButton
            ohos:height="match_content"
            ohos:width="380vp"
            ohos:background_element="$graphic:background_ability_main"
            ohos:layout_alignment="horizontal_center"
            ohos:text="第一个选项"
            ohos:text_size="30vp" />
        <RadioButton
            ohos:height="match_content"
            ohos:width="380vp"
            ohos:background_element="$graphic:background_ability_main"
            ohos:layout_alignment="horizontal_center"
            ohos:text="第二个选项"
            ohos:text_size="30vp" />
        <RadioButton
            ohos:height="match_content"
            ohos:width="380vp"
            ohos:background_element="$graphic:background_ability_main"
            ohos:layout_alignment="horizontal_center"
            ohos:text="第三个选项"
            ohos:text_size="30vp" />



    </RadioContainer>
    <!--复选框checkbox -->
    <!--开关switch -->
    <!--开关按钮ToggleButton -->
    <Checkbox
        ohos:id="$+id:check_box1"
        ohos:height="match_content"
        ohos:width="150vp"
        ohos:background_element="FF80EF66"
        ohos:layout_alignment="horizontal_center"
        ohos:text="复选框1"
        ohos:text_size="30vp" />
    <Switch
        ohos:id="$+id:switch1"
        ohos:height="match_content"
        ohos:width="100vp"
        ohos:background_element="$graphic:background_ability_main"
        ohos:layout_alignment="horizontal_center"
        ohos:text="复选框1"
        ohos:text_size="30vp" />
    <ToggleButton
        ohos:id="$+id:toggle_btn1"
        ohos:height="match_content"
        ohos:width="100vp"
        ohos:background_element="FF80EF66"
        ohos:layout_alignment="horizontal_center"
        ohos:text_state_on="打开"
        ohos:text_state_off="关闭"

        ohos:text_size="30vp" />
    <Text
        ohos:height="match_content"
        ohos:width="380vp"
        ohos:background_element="#FF80EF66"
        ohos:layout_alignment="horizontal_center"
        ohos:text="图像组件:"
        ohos:text_size="30vp"
        />
    <Image
        ohos:height="100vp"
        ohos:width="100vp"
        ohos:background_element="gray"
        ohos:layout_alignment="left"
        ohos:image_src="$media:lucky_grass"
        ohos:scale_mode="inside"
        />

       <!-- ohos:image_src="$graphic:ic_back" -->




</DirectionalLayout>

 MainAbilitySlice.java

package com.example.myapplication.slice;

import com.example.myapplication.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.components.*;
import ohos.agp.utils.LayoutAlignment;
import ohos.agp.window.dialog.ToastDialog;

public class MainAbilitySlice extends AbilitySlice {
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        super.setUIContent(ResourceTable.Layout_ability_main);
        //常规计时
        TickTimer tickTimer =(TickTimer) findComponentById(ResourceTable.Id_ticktimer);
        tickTimer.start();
        //倒计时
        TickTimer tickTimer_countdown =(TickTimer) findComponentById(ResourceTable.Id_ticktimer_countdown);
        tickTimer_countdown.setBaseTime((System.currentTimeMillis()+30*1000));
        tickTimer_countdown.setFormat("倒计时:ss秒");
        tickTimer_countdown.start();
        Clock clock = (Clock)  findComponentById(ResourceTable.Id_clock);
        clock.setFormatIn24HourMode("yyyy-MM-dd HH:mm:ss");
        RadioContainer radioContainer=(RadioContainer) findComponentById(ResourceTable.Id_radio_container);
        radioContainer.setMarkChangedListener(new RadioContainer.CheckedStateChangedListener() {
            @Override
            public void onCheckedChanged(RadioContainer radioContainer, int i) {
                new ToastDialog(getContext())
                        .setText("选择了第"+(i+1)+"项")
                        .setAlignment(LayoutAlignment.CENTER)
                        .show();
            }
        });
        ToggleButton toggleButton = (ToggleButton) findComponentById(ResourceTable.Id_toggle_btn1);
        toggleButton.setClickedListener(new Component.ClickedListener() {
            @Override
            public void onClick(Component component) {
                new ToastDialog(getContext()).setText("点击了:"+toggleButton.getText()).show();

            }
        });

    }

    @Override
    public void onActive() {
        super.onActive();
    }

    @Override
    public void onForeground(Intent intent) {
        super.onForeground(intent);
    }
}

图像组件的图像SGV文件转xml方法:

找到svg to xml

 

导入后:

图片使用方法:

工程代码:

待更新。。。


http://www.niftyadmin.cn/n/5328473.html

相关文章

CollectGarbage函数详解

CollectGarbage函数详解 大家好&#xff0c;我是免费搭建查券返利机器人赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;在今天的文章中&#xff0c;我们将深入研究一个程序员在优化性能时经常接触的函数——Colle…

API可视化编排如何实现

企业随着前后端分离架构、微服务架构、中台战略、产业互联互通的实施必将产生大量的各种协议的API服务&#xff0c;API将成为企业的数字化资产且API会越来越多&#xff0c; API服务之间的相互调用和依赖情况也随之越来越多和复杂。业务系统与业务系统之间、关联企业之间的API都…

docker 学习命令整理

文章目录 docker 学习命令整理(积累中...)0. 启动/停止1. 运行2. 查看运行中docker3. 删除指定container4. 查看本地镜像5. 拉取指定镜像6. 新起终端进入同一container7. 取消sudo8. 查看docker状态9. 查看docker存储10.删除镜像11.删除容器12. qemu12.1 安装12.2 卸载qemu 附&…

深入理解ikd-Tree从阅读代码开始(二)

0. 简介 增量KD树,我们知道这类算法可以更加高效并且有意义地完成数据结构的动态空间划分. ikd-Tree可以主动监视树结构并重新平衡树结构&#xff0c;从而在后期实现高效的最近点搜索&#xff0c;ikd-Tree经过了精心设计&#xff0c;支持多线程并行计算&#xff0c;以最大限度…

Baumer工业相机堡盟工业相机如何联合NEOAPI SDK和OpenCV实现Mono12和Mono16位深度的图像保存(C++)

Baumer工业相机堡盟工业相机如何联合BGAPI SDK和OpenCVSharp实现Mono12和Mono16位深度的图像保存&#xff08;C#&#xff09; Baumer工业相机Baumer工业相机保存位深度12/16位图像的技术背景代码案例分享1&#xff1a;引用合适的类文件2&#xff1a;NEOAPI SDK联合OpenCV进行图…

使用Cloudreve快速搭建一个私有网盘,配置存储策略和管理权限以及Webdav设置访问

Cloudreve 是什么&#xff1f; Cloudreve 可以让您快速搭建起公私兼备的网盘系统。Cloudreve 在底层支持不同的云存储平台&#xff0c;用户在实际使用时无须关心物理存储方式。你可以使用 Cloudreve 搭建个人用网盘、文件分享系统&#xff0c;亦或是针对大小团体的公有云系统。…

Linux 【C编程】IO进阶— 阻塞IO、非阻塞IO、 多路复用IO、 异步IO

文章目录 1.阻塞IO与非阻塞IO1.1为什么有阻塞式&#xff1f;1.2非阻塞 2.阻塞式IO的困境3.并发IO的解决方案3.1非阻塞式IO3.2多路复用IO3.2.1什么是多路复用IO&#xff1f;3.2.1多路复用IO select原理3.2.1多路复用IO poll原理 3.3异步IO 1.阻塞IO与非阻塞IO 1.1为什么有阻塞式…

微信小程序------WXML模板语法之条件渲染和列表渲染

目录 前言 一、条件渲染 1.wx:if 2. 结合 使用 wx:if 3. hidden 4. wx:if 与 hidden 的对比 二、列表渲染 1. wx:for 2. 手动指定索引和当前项的变量名* 3. wx:key 的使用 前言 上一期我们讲解wxml模版语法中的数据绑定和事件绑定&#xff08;上一期链接&#xff1a;…