12345678910111213141516171819202122232425262728293031 |
- import TimePicker from "android.widget.TimePicker"
- export class NativeTimePicker {
- $element : UniNativeViewElement;
- constructor(element : UniNativeViewElement, hour: number, minute: number) {
- this.$element = element;
- this.bindView(hour, minute);
- }
- picker : TimePicker | null = null;
- bindView(hour: number, minute: number) {
- this.picker = new TimePicker(this.$element.getAndroidActivity()!); //构建原生view
- this.$element.bindAndroidView(this.picker!);
- this.setHour(hour)
- this.setMinute(minute)
- this.picker?.setOnTimeChangedListener((_, hourOfDay, minute) => {
- const detail = {"hour": hourOfDay, "minute": minute}
- const event = new UniNativeViewEvent("timechanged", detail)
- this.$element.dispatchEvent(event)
- })
- }
- setHour(hour: number) {
- this.picker?.setHour(hour.toInt())
- }
- setMinute(minute: number) {
- this.picker?.setMinute(minute.toInt())
- }
- }
|