3.11【HarmonyOS鸿蒙开发】组件TimePicker

作者:韩茹

公司:程序咖(北京)科技有限公司

鸿蒙巴士专栏作家

TimePicker次要供用户抉择工夫。

一、反对的XML属性

TimePicker的共有XML属性继承自:StackLayout

TimePicker的自有XML属性见下表:

属性名称中文形容取值取值阐明应用案例
am_pm_order上午下午排列程序0示意am/pm列靠工夫选择器起始端显示。ohos:am_pm_order="0"
1示意am/pm列靠工夫选择器完结端显示。ohos:am_pm_order="1"
2示意am/pm列靠工夫选择器左侧显示。ohos:am_pm_order="2"
3示意am/pm列靠工夫选择器右侧显示。ohos:am_pm_order="3"
mode_24_hour是否24小时制显示boolean类型能够间接设置true/false,也能够援用boolean资源。ohos:mode_24_hour="true"
ohos:mode_24_hour="$boolean:true"
hour显示小时integer类型能够间接设置整型数值,也能够援用integer资源。小时取值范畴必须在0~23。ohos:hour="23"
ohos:hour="$integer:hour"
minute显示分钟integer类型能够间接设置整型数值,也能够援用integer资源。分钟取值范畴必须在0~59。ohos:minute="59"
ohos:minute="$integer:minute"
second显示秒integer类型能够间接设置整型数值,也能够援用integer资源。秒钟取值范畴必须在0~59。ohos:second="59"
ohos:second="$integer:second"
normal_text_color勾销选中文本的色彩color类型能够间接设置色值,也能够援用color资源。ohos:normal_text_color="#FFFFFFFF"
ohos:normal_text_color="$color:black"
selected_text_color选中文本的色彩color类型能够间接设置色值,也能够援用color资源。ohos:selected_text_color="#FF45A5FF"
ohos:selected_text_color="$color:black"
operated_text_color操作项的文本色彩color类型能够间接设置色值,也能够援用color资源。ohos:operated_text_color="#A8FFFFFF"
ohos:operated_text_color="$color:black"
normal_text_size勾销选中文本的大小float类型示意尺寸的float类型。能够是浮点数值,其默认单位为px;也能够是带px/vp/fp单位的浮点数值;也能够援用float资源。ohos:normal_text_size="30"
ohos:normal_text_size="16fp"
ohos:normal_text_size="$float:size_value"
selected_text_size选中文本的大小float类型示意尺寸的float类型。能够是浮点数值,其默认单位为px;也能够是带px/vp/fp单位的浮点数值;也能够援用float资源。ohos:selected_text_size="30"
ohos:selected_text_size="16fp"
ohos:selected_text_size="$float:size_value"
selected_normal_text_margin_ratio已选文本边距与失常文本边距的比例float类型能够间接设置浮点数值,也能够援用float浮点数资源。取值需>0.0f,默认值为1.0f。ohos:selected_normal_text_margin_ratio="0.5"
ohos:selected_normal_text_margin_ratio="$float:ratio"
selector_item_num显示的项数integer类型能够间接设置整型数值,也能够援用integer资源。ohos:selector_item_num="3"
ohos:selector_item_num="$integer:num"
shader_color着色器色彩color类型能够间接设置色值,也能够援用color资源。ohos:shader_color="#A8FFFFFF"ohos:shader_color="$color:black"
text_am上午文本string类型能够间接设置文本字串,也能够援用string资源。ohos:text_am="8:00:00"ohos:text_am="$string:am"
text_pm下午文本string类型能够间接设置文本字串,也能够援用string资源。ohos:text_pm="22:00:00"ohos:text_pm="$string:pm"
top_line_element选中项的顶行Element类型可间接配置色值,也可援用color资源或援用media/graphic下的图片资源。ohos:top_line_element="#FFFFFFFF"
ohos:top_line_element="$color:black"<br />ohos:top_line_element="$media:media_src"
ohos:top_line_element="$graphic:graphic_src"
bottom_line_element选中项的底线Element类型可间接配置色值,也可援用color资源或援用media/graphic下的图片资源。ohos:bottom_line_element="#FFFFFFFF"
ohos:bottom_line_element="$color:black"<br />ohos:bottom_line_element="$media:media_src"
ohos:bottom_line_element="$graphic:graphic_src"
wheel_mode_enabled抉择轮是否绕行boolean类型能够间接设置true/false,也能够援用boolean资源。ohos:wheel_mode_enabled="false"
ohos:wheel_mode_enabled="$boolean:false"

二、应用TimePicker

1、创立TimePicker

<TimePicker        ohos:id="$+id:time_picker"        ohos:height="match_content"        ohos:width="match_parent"        ohos:background_element="#22ff0000"        />

创立一个默认的TimePicker的成果

2、获取工夫

    TimePicker timePicker = (TimePicker) findComponentById(ResourceTable.Id_time_picker);    int hour = timePicker.getHour();    int minute = timePicker.getMinute();    int second = timePicker.getSecond();    System.out.println("hour:"+hour+",minute:"+minute+",second:"+second);

运行后果:

3、设置工夫

  timePicker.setHour(19);  timePicker.setMinute(18);  timePicker.setSecond(12);

设置工夫成果:

4、响应工夫扭转事件

timePicker.setTimeChangedListener(new TimePicker.TimeChangedListener() {            @Override            public void onTimeChanged(TimePicker timePicker, int hour, int minute, int second) {                new ToastDialog(getContext())                        .setText("工夫:"+hour+":"+minute+":"+second)                        .show();            }        });

运行成果:

<img src="https://img.chengxuka.com/WX20210617-110942@2x.png/mark" alt="WX20210617-110942@2x" style="zoom:50%;" />

三、显示款式配置

1、设置字体属性

设置未选中字体的色彩和大小:

<TimePicker    ...    ohos:normal_text_color="#007DFF"    ohos:normal_text_size="20fp"/>

设置未选中字体的色彩和大小的成果:

设置选中字体的色彩和大小

<TimePicker    ...    ohos:selected_text_color="#007DFF"    ohos:selected_text_size="20fp"/>

设置选中字体的色彩和大小成果:

设置操作项文本色彩

<TimePicker    ...    ohos:operated_text_color="#FF00FF"/>

操作项文本色彩设置成果

2、设置TimePicker中所选文本边距与一般文本边距的比例

<TimePicker    ...    ohos:selected_normal_text_margin_ratio="10"/>

选中与未选中文本距离成果

3、设置选中工夫的高低边框

<TimePicker    ...    ohos:bottom_line_element="#00BFFF"/>

设置高低区域分割线色彩成果

4、设置着色器色彩

<TimePicker    ...    ohos:shader_color="#00BFFF"/>

5、设置12小时制下显示款式

AM/PM默认置于左侧,如需位于左边:

<TimePicker    ...    ohos:am_pm_order="1"/>

设置AM/PM位于左边显示的成果

四、范畴抉择设置

1、设置暗藏或显示时分秒

暗藏小时的显示

timePicker.showHour(false);

小时不显示成果:

暗藏分钟

timePicker.showMinute(false);

暗藏分钟成果

暗藏秒

timePicker.showSecond(false);

暗藏秒成果

2、设置TimePicker的selector是否能够滑动

设置小时selector无奈滚动抉择

timePicker.enableHour(false);

小时selector无奈滚动抉择成果

设置分钟selector无奈滚动

timePicker.enableMinute(false);

分钟selector固定无奈抉择成果

设置秒selector无奈滚动

timePicker.enableSecond(false);

秒selector无奈滚动抉择成果

更多内容:

1、社区:鸿蒙巴士https://www.harmonybus.net/

2、公众号:HarmonyBus

3、技术交换QQ群:714518656

4、视频课:https://www.chengxuka.com