【问题标题】:TimePicker with Spinners?带微调器的时间选择器?
【发布时间】:2016-01-04 17:34:22
【问题描述】:

我正在尝试构建一个 TimePickerDialog,但不幸的是,出现的时间选择器使用起来非常麻烦:

有什么方法可以构建一个时间选择器,就像 Android 使用的旧的时间选择器一样:

我的代码如下:

    ButtonTime.Click += delegate
    {
        ShowTimePickerDialog();
    };

    void ShowTimePickerDialog()
    {
        var dialog = new TimePickerDialogFragment(this, hour, minute, this);

        dialog.Show(FragmentManager, null);
    }

【问题讨论】:

  • 第一个比那个可怕的旋转怪物漂亮得多...

标签: xamarin xamarin.android timepickerdialog


【解决方案1】:

添加新的xml样式

<?xml version="1.0" encoding="utf-8" ?>
<resources>
  <style name="SpinnerTimePicker" parent="android:Widget.Material.Light.TimePicker">
    <item name="android:timePickerMode">spinner</item>
  </style>

  <style name="ClockTimePicker" parent="android:Widget.Material.Light.TimePicker">
    <item name="android:timePickerMode">clock</item>
  </style>
</resources>

在 MainTheme 中将 timepicker 样式设置为 SpinnerTimePicker

 <item name="android:timePickerStyle">@style/SpinnerTimePicker</item>

【讨论】:

    【解决方案2】:

    我会说使用 Holo 主题。 我指的是在 stackoverflow 上关注 link,您可能会觉得这很有用。

    【讨论】:

    • 做得很好。我正在使用全息主题。
    • 现在快速提问如何在 timepickerdialog 中以编程方式设置 timepickermode
    • 您可以通过在创建时间选择器时传递 defStyleRes 或 defStyleAttr 来实现。
    【解决方案3】:

    android:timePickerMode 定义小部件的外观。在 L 版本之前,唯一的选择是微调器。从 L 开始,选择 Material 主题后,默认布局为时钟,但此属性可用于强制使用微调器。

    必须是以下常量值之一。

    常量值说明 时钟 2 带有钟面的时间选择器以选择时间。 spinner 1 时间选择器,带有用于选择时间的微调器控件。

    来自文档

    https://developer.android.com/reference/android/widget/TimePicker.html#attr_android:timePickerMode

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-20
      • 2018-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多