基本用法:
<Clock
ohos:height="match_content"
ohos:width="match_content"
ohos:text_size="30fp"
/>
ohos:time_zone="GMT"
是默认值 <Clock
ohos:height="match_content"
ohos:width="match_content"
ohos:time_zone="GMT"
ohos:mode_24_hour="yyyy年MM月dd日 HH:mm:ss"
ohos:text_size="30fp"
/>
a
表示的是上午或下午 <Clock
ohos:height="match_content"
ohos:width="match_content"
ohos:time_zone="GMT"
ohos:mode_24_hour="false"
ohos:mode_12_hour="yyyy年MM月dd日 hh:mm:ss a"
ohos:text_size="30fp"
/>
a
表示的是上午或下午ability_main
MainAbilitySlice
//1.找到时钟组件
Clock clock = (Clock) findComponentById(ResourceTable.Id_clock);
//2.修改时钟组件展开的方式
//默认是24小时
//如果要按照12小时进行展示,需要先把24小时展示给关闭
clock.set24HourModeEnabled(false);
//3.指定12小时的展示格式
clock.setFormatIn12HourMode("yyyy年MM月dd日 hh:mm:ss a");
需求:
业务分析:
布局分析:
ohos:multiple_lines="true"
,这个属性也是Text组件的属性,Clock组件也是Text住组件的子类,所以可以直接拿过来使用
ability_main
<?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:orientation="vertical">
<Clock
ohos:id="$+id:clock"
ohos:height="match_content"
ohos:width="match_content"
ohos:multiple_lines="true"
ohos:text_size="35fp"
ohos:text_alignment="center"
ohos:mode_24_hour="yyyy年MM月dd日 HH:mm:ss"
ohos:layout_alignment="center"
/>
<Button
ohos:id="$+id:but"
ohos:height="match_content"
ohos:width="match_content"
ohos:text="改为12小时制"
ohos:text_size="40fp"
ohos:background_element="#92D050"
ohos:top_margin="30vp"
ohos:layout_alignment="center"
/>
</DirectionalLayout>
onClick
方法当中要做两种方式的判断,在方法外做一个标记,类型可以使用boolean
或int
类型,boolean
类型有两个值,只能表示两个状态,为了后期的扩展,这里使用 int
类型来做标记
onClick
方法中使用 but
来改变按钮上的文本内容,所以把 but
提为成员变量
onClick
方法的时候,在方法中进行判断两者的状态就行了
H
来表示,而且不用 a
的
MainAbilitySlice
package com.xdr630.clockapplication.slice;
import com.xdr630.clockapplication.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.components.Button;
import ohos.agp.components.Clock;
import ohos.agp.components.Component;
public class MainAbilitySlice extends AbilitySlice implements Component.ClickedListener {
Clock clock;
Button but;
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_main);
//1.找到时钟组件
clock = (Clock) findComponentById(ResourceTable.Id_clock);
//找到按钮组件
but = (Button) findComponentById(ResourceTable.Id_but);
//2.给按钮添加一个单击事件
but.setClickedListener(this);
}
@Override
public void onActive() {
super.onActive();
}
@Override
public void onForeground(Intent intent) {
super.onForeground(intent);
}
//如果为 0,表示24小时制
//如果为 1,表示12小时制
int flag = 0;
@Override
public void onClick(Component component) {
if (flag == 0){
//表示当前为24小时制
//如果当前为24小时制,则修改为12小时制
//默认是24小时
//如果要按照12小时进行展示,需要先把24小时展示给关闭
clock.set24HourModeEnabled(false);
//3.指定12小时的展示格式
clock.setFormatIn12HourMode("yyyy年MM月dd日 hh:mm:ss a");
//修改按钮上的文字
but.setText("改为24小时制");
//修改标记对应的状态
flag = 1;
}else if (flag == 1){
//当前是12小时制,要改为24小时制
clock.set24HourModeEnabled(true);
//修改展示格式
clock.setFormatIn24HourMode("yyyy年MM月dd日 HH:mm:ss");
//修改按钮上的文字
but.setText("改为12小时制");
//修改标记
flag = 0;
}
}
}
time
,把属性值(毫秒值或时间戳)加在后面就行了0
:表示时间从时间原点 1970-01-01 08:00:00
开始计算的,标准是1970-01-01 00:00:00
,中国普遍使用东八区的时间,东八区的标准时间是比世界协调时间(UTC)/格林尼治时间(GMT)快8小时,跟标准时间是有8
个小时的时差
把时间设置为指定的时间
time
属性那里
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。