You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Maui中如何将Android端TimePicker改为Spinner模式?

.NET Maui Android TimePicker 改为 Spinner 模式的实现方案

一、通过 Maui Handlers 实现(推荐方式)

完全可以通过 Maui Handlers 实现 Android 端 TimePicker 的模式切换,这是 Maui 官方推荐的平台自定义方案。

你的代码思路是对的,只需补充正确的平台属性设置逻辑即可。Android 端的 TimePicker 控件(对应 handler.PlatformView)在 API 21 及以上支持 TimePickerMode 属性,可直接设置为 Spinner 模式。完整代码如下:

#if ANDROID
using Android.Widget;

Microsoft.Maui.Handlers.TimePickerHandler.Mapper.AppendToMapping("SpinnerModeCustomization", (handler, view) =>
{
    // 检查Android版本是否支持该属性(API 21+)
    if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Lollipop)
    {
        handler.PlatformView.TimePickerMode = TimePickerMode.Spinner;
    }
});
#endif
  • 需要引入 Android.Widget 命名空间来访问 TimePickerMode 枚举
  • 加入版本判断是为了兼容低版本 Android 系统(低于API 21的版本默认就是Spinner模式,无需额外设置)

二、能否通过样式实现?

不能直接通过 Maui 的样式(Style)实现该需求。因为 Maui 的样式系统仅针对跨平台的控件公共属性,而 TimePickerMode 是 Android 平台独有的控件属性,不属于 Maui 跨平台属性体系,无法通过样式的 Setter 来设置。

内容的提问来源于stack exchange,提问作者Bongo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 00:05:22