在鸿蒙OS中,TimePicker 是一种用于让用户选择时间的用户界面控件。用户可以通过 TimePicker 在图形界面中选择小时和分钟,以满足应用程序中对时间的需求。

以下是一个简单的例子,演示如何在鸿蒙OS中使用 TimePicker:
import ohos.aafwk.ability.AbilitySlice;
import ohos.agp.components.*;
import ohos.agp.components.element.ShapeElement;
import ohos.app.Context;

public class MyAbilitySlice extends AbilitySlice {

    @Override
    protected void onStart(Intent intent) {
        super.onStart(intent);
        super.setUIContent(ResourceTable.Layout_ability_main);

        // 创建TimePicker
        TimePicker timePicker = (TimePicker) findComponentById(ResourceTable.Id_timePicker);

        // 设置24小时制
        timePicker.setIs24Hour(true);

        // 设置TimePicker的变化监听器
        timePicker.setValueChangedListener((timePicker1, hour, minute) -> {
            showToast("选择的时间:" + formatTime(hour, minute));
        });
    }

    private String formatTime(int hour, int minute) {
        // 格式化时间
        return String.format("%02d:%02d", hour, minute);
    }

    private void showToast(String text) {
        new ToastDialog(getContext())
            .setText(text)
            .setAlignment(LayoutAlignment.CENTER)
            .setTextColor(Color.WHITE)
            .setDuration(ToastDialog.Duration.LONG)
            .show();
    }
}

在上述例子中,我们首先在 XML 布局文件(ability_main.xml)中添加了一个 TimePicker 控件:
<DirectionalLayout
    xmlns:ohos="http://schemas.huawei.com/res/ohos"
    ohos:height="match_parent"
    ohos:width="match_parent">

    <TimePicker
        ohos:id="$+id:timePicker"
        ohos:height="match_content"
        ohos:width="match_content" />
</DirectionalLayout>

接着,在 onStart 方法中获取 TimePicker 控件的实例,并进行相关设置,如设置为24小时制和设置变化监听器。在变化监听器中,我们将选择的时间进行格式化,并通过 ToastDialog 弹出提示。

请注意,TimePicker 提供了许多其他方法和属性,可以根据实际需求进行设置,如设置初始时间、分钟间隔等。查阅[鸿蒙OS官方文档](https://developer.harmonyos.com/cn/docs/documentation/doc-guides/ui-basic-timepicker-0000001050167864)以获取更多关于 TimePicker 的详细信息。


转载请注明出处:http://www.zyzy.cn/article/detail/2996/鸿蒙OS