18.鴻蒙HarmonyOS App(JAVA)日期選擇器-時(shí)間選擇器
點(diǎn)擊button按鈕觸發(fā)事件顯示月份與獲取的時(shí)間
Button button3 = (Button) findComponentById(ResourceTable.Id_button3);
button3.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
String time2_h = String.valueOf(timePicker.getHour()) ;
String time2_m = String.valueOf(timePicker.getMinute()) ;
String time2_s = String.valueOf(timePicker.getSecond()) ;
new ToastDialog(getContext())
.setText("獲取時(shí)間為:"+time2_h+":"+time2_m+":"+time2_s)
.setAlignment(LayoutAlignment.BOTTOM)
.show();
}
});
支持的XML屬性
DatePicker的共有XML屬性繼承自:StackLayout
DatePicker的自有XML屬性見下表:
屬性名稱 |
中文描述 |
取值 |
取值說明 |
使用案例 |
---|---|---|---|---|
date_order |
顯示格式,年月日 |
day-month-year |
表示日期以日-月-年的格式顯示。 |
ohos:date_order="day-month-year" |
month-day-year |
表示日期以月-日-年的格式顯示。 |
|||
year-month-day |
表示日期以年-月-日的格式顯示。 |
|||
year-day-month |
表示日期以年-日-月的格式顯示。 |
|||
day-month |
表示日期以日-月的格式顯示。 |
|||
month-day |
表示日期以月-日的格式顯示。 |
|||
year-month |
表示日期以年-月的格式顯示。 |
|||
month-year |
表示日期以月-年的格式顯示。 |
|||
only-year |
表示只顯示年份。 |
|||
only-month |
表示只顯示月份。 |
|||
only-day |
表示只顯示日期。 |
|||
day_fixed |
日期是否固定 |
boolean類型 |
可以直接設(shè)置true/false,也可以引用boolean資源。 |
ohos:day_fixed="true" ohos:day_fixed="$boolean:true" |
month_fixed |
月份是否固定 |
boolean類型 |
可以直接設(shè)置true/false,也可以引用boolean資源。 |
ohos:month_fixed="true" ohos:month_fixed="$boolean:true" |
year_fixed |
年份是否固定 |
boolean類型 |
可以直接設(shè)置true/false,也可以引用boolean資源。 |
ohos:year_fixed="true" ohos:year_fixed="$boolean:true" |
max_date |
最大日期 |
long類型 |
可以直接設(shè)置長整型值,也可以引用string資源。 |
ohos:max_date="1234567" ohos:max_date="$string:date" |
min_date |
最小日期 |
long類型 |
可以直接設(shè)置長整型值,也可以引用string資源。 |
ohos:min_date="1234567" ohos:min_date="$string:date" |
text_size |
文本大小 |
float類型 |
表示尺寸的float類型。 可以是浮點(diǎn)數(shù)值,其默認(rèn)單位為px;也可以是帶px/vp/fp單位的浮點(diǎn)數(shù)值;也可以引用float資源。 |
ohos:text_size="30" ohos:text_size="16fp" ohos:text_size="$float:size_value" |
normal_text_size |
未選中文本的大小 |
float類型 |
表示尺寸的float類型。 可以是浮點(diǎn)數(shù)值,其默認(rèn)單位為px;也可以是帶px/vp/fp單位的浮點(diǎn)數(shù)值;也可以引用float資源。 |
ohos:normal_text_size="30" ohos:normal_text_size="16fp" ohos:normal_text_size="$float:size_value" |
selected_text_size |
選中文本的大小 |
float類型 |
表示尺寸的float類型。 可以是浮點(diǎn)數(shù)值,其默認(rèn)單位為px;也可以是帶px/vp/fp單位的浮點(diǎn)數(shù)值;也可以引用float資源。 |
ohos:selected_text_size="30" ohos:selected_text_size="16fp" ohos:selected_text_size="$float:size_value" |
normal_text_color |
未選中文本的顏色 |
color類型 |
可以直接設(shè)置色值,也可以引用color資源。 |
ohos:normal_text_color="#A8FFFFFF" ohos:normal_text_color="$color:black" |
selected_text_color |
選中文本的顏色 |
color類型 |
可以直接設(shè)置色值,也可以引用color資源。 |
ohos:selected_text_color="#A8FFFFFF" ohos:selected_text_color="$color:black" |
operated_text_color |
操作項(xiàng)的文本顏色 |
color類型 |
可以直接設(shè)置色值,也可以引用color資源。 |
ohos:operated_text_color="#A8FFFFFF" ohos:operated_text_color="$color:black" |
selected_normal_text_margin_ratio |
已選文本邊距與常規(guī)文本邊距的比例 |
float類型 |
可以直接設(shè)置浮點(diǎn)數(shù)值,也可以引用float資源。 取值需>0.0f,默認(rèn)值為1.0f。 |
ohos:selected_normal_text_margin_ratio="0.5" ohos:selected_normal_text_margin_ratio="$float:ratio" |
selector_item_num |
顯示的項(xiàng)目數(shù)量 |
integer類型 |
可以直接設(shè)置整型數(shù)值,也可以引用integer資源。 |
ohos:selector_item_num="10" ohos:selector_item_num="$integer:num" |
shader_color |
著色器顏色 |
color類型 |
可以直接設(shè)置色值,也可以引用color資源。 |
ohos:shader_color="#A8FFFFFF" ohos:shader_color="$color:black" |
top_line_element |
選中項(xiàng)的頂行 |
Element類型 |
可直接配置色值,也可引用color資源或引用media/graphic下的圖片資源。 |
ohos:top_line_element="#FFFFFFFF" ohos:top_line_element="$color:black" ohos:top_line_element="$media:media_src" ohos:top_line_element="$graphic:graphic_src" |
bottom_line_element |
選中項(xiàng)的底線 |
Element類型 |
可直接配置色值,也可引用color資源或引用media/graphic下的圖片資源。 |
ohos:bottom_line_element="#FFFFFFFF" ohos:bottom_line_element="$color:black" ohos:bottom_line_element="$media:media_src" ohos:bottom_line_element="$graphic:graphic_src" |
wheel_mode_enabled |
選擇輪是否循環(huán)顯示數(shù)據(jù) |
boolean類型 |
可以直接設(shè)置true/false,也可以引用boolean資源。 |
ohos:wheel_mode_enabled="true" ohos:wheel_mode_enabled="$boolean:true" |
TimePicker的自有XML屬性見下表:
屬性名稱 |
中文描述 |
取值 |
取值說明 |
使用案例 |
---|---|---|---|---|
am_pm_order |
在12小時(shí)制顯示的情況下,控制上午下午排列順序 |
start |
表示am/pm列靠時(shí)間選擇器起始端顯示。 |
ohos:mode_24_hour="false" ohos:am_pm_order="start" |
end |
表示am/pm列靠時(shí)間選擇器結(jié)束端顯示。 |
ohos:mode_24_hour="false" ohos:am_pm_order="end" |
||
left |
表示am/pm列靠時(shí)間選擇器左側(cè)顯示。 |
ohos:mode_24_hour="false" ohos:am_pm_order="left" |
||
right |
表示am/pm列靠時(shí)間選擇器右側(cè)顯示。 |
ohos:mode_24_hour="false" ohos:am_pm_order="right" |
||
mode_24_hour |
是否24小時(shí)制顯示 |
boolean類型 |
可以直接設(shè)置true/false,也可以引用boolean資源。 |
ohos:mode_24_hour="true" ohos:mode_24_hour="$boolean:true" |
hour |
顯示小時(shí) |
integer類型 |
可以直接設(shè)置整型數(shù)值,也可以引用integer資源。 小時(shí)取值范圍必須在0~23。 |
ohos:hour="23" ohos:hour="$integer:hour" |
minute |
顯示分鐘 |
integer類型 |
可以直接設(shè)置整型數(shù)值,也可以引用integer資源。 分鐘取值范圍必須在0~59。 |
ohos:minute="59" ohos:minute="$integer:minute" |
second |
顯示秒 |
integer類型 |
可以直接設(shè)置整型數(shù)值,也可以引用integer資源。 秒鐘取值范圍必須在0~59。 |
ohos:second="59" ohos:second="$integer:second" |
normal_text_color |
未選中文本的顏色 |
color類型 |
可以直接設(shè)置色值,也可以引用color資源。 |
ohos:normal_text_color="#FFFFFFFF" ohos:normal_text_color="$color:black" |
selected_text_color |
選中文本的顏色 |
color類型 |
可以直接設(shè)置色值,也可以引用color資源。 |
ohos:selected_text_color="#FF45A5FF" ohos:selected_text_color="$color:black" |
operated_text_color |
操作項(xiàng)的文本顏色 |
color類型 |
可以直接設(shè)置色值,也可以引用color資源。 |
ohos:operated_text_color="#A8FFFFFF" ohos:operated_text_color="$color:black" |
normal_text_size |
未選中文本的大小 |
float類型 |
表示尺寸的float類型。 可以是浮點(diǎn)數(shù)值,其默認(rèn)單位為px;也可以是帶px/vp/fp單位的浮點(diǎn)數(shù)值;也可以引用float資源。 |
ohos:normal_text_size="30" ohos:normal_text_size="16fp" ohos:normal_text_size="$float:size_value" |
selected_text_size |
選中文本的大小 |
float類型 |
表示尺寸的float類型。 可以是浮點(diǎn)數(shù)值,其默認(rèn)單位為px;也可以是帶px/vp/fp單位的浮點(diǎn)數(shù)值;也可以引用float資源。 |
ohos:selected_text_size="30" ohos:selected_text_size="16fp" ohos:selected_text_size="$float:size_value" |
selected_normal_text_margin_ratio |
已選文本邊距與常規(guī)文本邊距的比例 |
float類型 |
可以直接設(shè)置浮點(diǎn)數(shù)值,也可以引用float資源。 取值需>0.0f,默認(rèn)值為1.0f。 |
ohos:selected_normal_text_margin_ratio="0.5" ohos:selected_normal_text_margin_ratio="$float:ratio" |
selector_item_num |
顯示的項(xiàng)目數(shù)量 |
integer類型 |
可以直接設(shè)置整型數(shù)值,也可以引用integer資源。 |
ohos:selector_item_num="3" ohos:selector_item_num="$integer:num" |
shader_color |
著色器顏色 |
color類型 |
可以直接設(shè)置色值,也可以引用color資源。 |
ohos:shader_color="#A8FFFFFF" ohos:shader_color="$color:black" |
text_am |
上午文本 |
string類型 |
可以直接設(shè)置文本字串,也可以引用string資源(推薦使用)。 |
ohos:text_am="8:00:00" ohos:text_am="$string:am" |
text_pm |
下午文本 |
string類型 |
可以直接設(shè)置文本字串,也可以引用string資源(推薦使用)。 |
ohos:text_pm="22:00:00" ohos:text_pm="$string:pm" |
top_line_element |
選中項(xiàng)的頂行 |
Element類型 |
可直接配置色值,也可引用color資源或引用media/graphic下的圖片資源。 |
ohos:top_line_element="#FFFFFFFF" ohos:top_line_element="$color:black" ohos:top_line_element="$media:media_src" ohos:top_line_element="$graphic:graphic_src" |
bottom_line_element |
選中項(xiàng)的底線 |
Element類型 |
可直接配置色值,也可引用color資源或引用media/graphic下的圖片資源。 |
ohos:bottom_line_element="#FFFFFFFF" ohos:bottom_line_element="$color:black" ohos:bottom_line_element="$media:media_src" ohos:bottom_line_element="$graphic:graphic_src" |
wheel_mode_enabled |
選擇輪是否循環(huán)顯示數(shù)據(jù) |
boolean類型 |
可以直接設(shè)置true/false,也可以引用boolean資源。 |
ohos:wheel_mode_enabled="false" ohos:wheel_mode_enabled="$boolean:false" |
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.colors.RgbColor;
import ohos.agp.components.Button;
import ohos.agp.components.Component;
import ohos.agp.components.DatePicker;
import ohos.agp.components.TimePicker;
import ohos.agp.components.element.ShapeElement;
import ohos.agp.utils.Color;
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);
DatePicker datePicker = (DatePicker) findComponentById(ResourceTable.Id_date_picker5);
datePicker.updateDate(2008,8,8);//設(shè)置當(dāng)前選擇日期
datePicker.setDateOrder(DatePicker.DateOrder.YMD); //顯示年月日順序
datePicker.setSelectorItemNum(3);//顯示項(xiàng)目的條數(shù)
datePicker.setSelectedNormalTextMarginRatio(6);
datePicker.setOperatedTextColor(Color.BLUE);
TimePicker timePicker = (TimePicker) findComponentById(ResourceTable.Id_time_picker5);
timePicker.set24Hour(false);// 12小時(shí)制, true:24小時(shí)制
timePicker.setAmPmOrder(TimePicker.AmPmOrder.END);//AM.PM放在最后
timePicker.setAmPmStrings("美好上午","精彩下午");
timePicker.setRange(new int[]{8,0,0,21,59,59}); //可選時(shí)間8:00 -- 21:59
//設(shè)置框線
ShapeElement blueElement = new ShapeElement();
blueElement.setRgbColor(new RgbColor(0,0,255));
timePicker.setDisplayedLinesElements(blueElement,blueElement);
//漸變背景顏色,灰色
//timePicker.setShaderColor(new Color(Color.rgb(150,150,150)));
timePicker.setShaderColor(new Color(Color.getIntColor("#1E90FF")));
String date2 = String.valueOf(datePicker.getDayOfMonth());
Button button1 = (Button) findComponentById(ResourceTable.Id_button1);
button1.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
new ToastDialog(getContext())
.setText("獲取的月份:"+date2)
.setAlignment(LayoutAlignment.BOTTOM)
.show();
}
});
Button button3 = (Button) findComponentById(ResourceTable.Id_button3);
button3.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
String time2_h = String.valueOf(timePicker.getHour()) ;
String time2_m = String.valueOf(timePicker.getMinute()) ;
String time2_s = String.valueOf(timePicker.getSecond()) ;
new ToastDialog(getContext())
.setText("獲取時(shí)間為:"+time2_h+":"+time2_m+":"+time2_s)
.setAlignment(LayoutAlignment.BOTTOM)
.show();
}
});
}
@Override
public void onActive() {
super.onActive();
}
@Override
public void onForeground(Intent intent) {
super.onForeground(intent);
}
}
?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:orientation="vertical">
<Text
ohos:id="$+id:text_helloworld"
ohos:height="match_content"
ohos:width="match_content"
ohos:background_element="#FFB1C4FC"
ohos:layout_alignment="horizontal_center"
ohos:text="$string:mainability_HelloWorld"
ohos:text_size="40vp"
/>
<Text
ohos:id="$+id:text_helloworld3"
ohos:height="match_content"
ohos:width="match_content"
ohos:background_element="$graphic:background_ability_main"
ohos:layout_alignment="horizontal_center"
ohos:text="日期選擇器"
ohos:text_size="40vp"
/>
<DatePicker
ohos:id="$+id:date_picker5"
ohos:height="match_content"
ohos:width="match_parent"
ohos:background_element="#FF71F68E"
ohos:layout_alignment="horizontal_center"
ohos:normal_text_size="20vp"
ohos:selected_text_size="22vp"
ohos:top_margin="10vp"
/>
<Text
ohos:id="$+id:text_helloworld3a"
ohos:height="match_content"
ohos:width="match_content"
ohos:background_element="$graphic:background_ability_main"
ohos:layout_alignment="horizontal_center"
ohos:text="時(shí)間選擇器"
ohos:text_size="40vp"
/>
<TimePicker
ohos:id="$+id:time_picker5"
ohos:height="match_content"
ohos:width="match_parent"
ohos:background_element="#FF71F68E"
ohos:layout_alignment="horizontal_center"
ohos:normal_text_size="20vp"
ohos:selected_text_size="22vp"
ohos:top_margin="10vp"
/>
<Button
ohos:id="$+id:button1"
ohos:width="match_content"
ohos:height="match_content"
ohos:text_size="27fp"
ohos:text="獲取日期"
ohos:background_element="$graphic:capsule_button_element"
ohos:left_margin="15vp"
ohos:bottom_margin="15vp"
ohos:right_padding="15vp"
ohos:left_padding="15vp"
/>
<Button
ohos:id="$+id:button3"
ohos:width="match_content"
ohos:height="match_content"
ohos:text_size="27fp"
ohos:text="獲取時(shí)間"
ohos:background_element="$graphic:capsule_button_element"
ohos:left_margin="15vp"
ohos:bottom_margin="15vp"
ohos:right_padding="15vp"
ohos:left_padding="15vp"
/>
</DirectionalLayout>
capsule_button_element.xml
放在目錄:項(xiàng)目名稱xxx\entry\src\main\resources\base\graphic
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:shape="rectangle">
<corners
ohos:radius="100"/>
<solid
ohos:color="#FF59F17A"/>
</shape>
?按鈕的樣式:
文章來源:http://www.zghlxwxcb.cn/news/detail-818161.html
使用方法:文章來源地址http://www.zghlxwxcb.cn/news/detail-818161.html
<Button
ohos:id="$+id:button3"
ohos:width="match_content"
ohos:height="match_content"
ohos:text_size="27fp"
ohos:text="獲取時(shí)間"
ohos:background_element="$graphic:capsule_button_element"
ohos:left_margin="15vp"
ohos:bottom_margin="15vp"
ohos:right_padding="15vp"
ohos:left_padding="15vp"
/>
到了這里,關(guān)于18.鴻蒙HarmonyOS App(JAVA)日期選擇器-時(shí)間選擇器的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!