32 行
893 B
Plaintext
32 行
893 B
Plaintext
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())
|
|
}
|
|
}
|