在新 Android 应用上使用基于微调器的时间选择器?

Use spinner-based time picker on new Android app?

我正在开发一个 Android 应用程序,它的目标 API 用于 Android 6。如您所知,在 Android 5 他们引入了 Material 外观,包括日历日期选择器和模拟时钟时间选择器。

Android 4 个时间选择器有 Month/Day/Year 和 Hour/Minute/AM-PM 的单独微调器。我认为它们使用起来更快,尤其是时间选择器。

如何使用那些较旧的日期和时间选择器对话框,同时仍保持 Android 5-6 应用程序中其他活动的整体外观?

我知道那些较旧的选择器可能只是为了兼容性而保留,但无论如何仍然想使用它们。 (我假设将它们打包到应用程序中会更加困难。)

作为参考,这是我目前使用的代码。

import android.app.DatePickerDialog;
...
    new DatePickerDialog(this, callback, y, m, d).show();

如何将 theme 设置为第二个参数和 onDateListener

new DatePickerDialog(context, android.R.style.Theme_Holo_NoActionBar_Fullscreen,listener, y, m, d);

为我指明了正确的方向。

我最终创建了自定义样式,因为当我使用全息对话框样式(而不是最初建议的全屏)时,我在 window 中得到了某种 window。这就是我最终使用的想要的净效果:

styles.xml:

<style name="MyPickerDialogTheme" parent="@android:style/Theme.Holo.Light.Dialog">
    <item name="android:windowBackground">@android:color/transparent</item>
</style>

MyActivity.java:

new DatePickerDialog(context, R.style.MyPickerDialogTheme, callback, y, m, d).show();