OpenHarmony 选择器提升用户体验的实用方案
一 交互与可用性设计要点
二 性能与稳定性优化
三 数据与文件选择的最佳实践
四 代码级落地示例
import { CalendarPicker, CalendarAlign, PickerTextStyle } from '@ohos.arkui.advanced.CalendarPicker';
@Entry @Component
struct CalendarPickerDemo {
private selected: Date = new Date('2024-03-05')
build() {
Column() {
CalendarPicker({ selectedDate: this.selected })
.edgeAlign(CalendarAlign.END)
.textStyle({ color: '#ff182431', font: { size: 20, weight: FontWeight.Normal } })
.onChange((value: Date) => {
this.selected = value
console.info('selected: ' + value.toISOString())
})
}
.padding(12)
}
}
import picker from '@ohos.file.picker'
import { BusinessError } from '@ohos.base'
async function pickAudio(context: common.Context) {
try {
const opts = new picker.AudioSelectOptions()
const picker = new picker.AudioViewPicker(context)
const uris: string[] = await picker.select(opts) // 也可使用 callback 形式
console.info('picked audios: ' + JSON.stringify(uris))
// TODO: 读取/展示/上传
} catch (err) {
console.error('pick audio failed: ' + JSON.stringify(err as BusinessError))
}
}
import { ShowTimePickerComponent, DividerType } from '@ohos/pickerview'
const model = new ShowTimePickerComponent.Model()
.setFontSize(20).setFontColor(Color.Black)
.setDividerLineStroke(2).setDividerLineColor(Color.Black)
.setYearRangeStart(2001).setYearRangeEnd(2050)
.setDefaultSelection([2025, 4, 1])
.setConfirmButtonFont('确定').setCancelButtonFont('取消')
// 在 build 中使用 ShowTimePickerComponent({ model })
五 适配与生态实践
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。