【问题标题】:input date picker on android shows wrong picker on WebViewandroid上的输入日期选择器在WebView上显示错误的选择器
【发布时间】:2017-01-01 22:19:47
【问题描述】:

我在 WebView 中有一个 HTML5 INPUT (type="datetime-local"),但是当我选择它时,它会显示一个如下所示的日期时间字段:

但是 Chrome 中相同的元素看起来像这样:

这是在 Android 7.1 下,安装了 Chrome v55,因此 Chrome 正在使用 WebView 组件。所以,两者应该显示相同的东西,对吧?

我需要后一个选择器显示在 WebView 中,它对用户更加友好(要滚动,您只需上下滑动,而不必反复按加号或分钟按钮。

我该如何做到这一点?

更新:我尝试使用 DatePickerDialog 在本机创建它,它做同样的事情!我的目标是 minSdkVersion=22,targetSdkVersion=25(尽管我也尝试过 minSdkVersion=25)。如何强制 Android 为我的应用显示正确的选择器?

更新 2:我使用本机 DatePickerDialog 下载了一个示例应用程序,它显示对话框正常。我不喜欢必须尝试找出导致行为差异的两个项目之间的差异的想法,因为它可能是任何东西并且需要花费大量时间才能找到。

更新 3:使用 Oleg 提供的答案,我能够使用 android:Theme.Holo.Light.DarkActionBar 重现第二个选择器。但如果我使用android:Theme.DeviceDefault.Light,我可以获得input type="date" 的日历视图。但是默认主题(圆形时钟)中的相应时间选择器显示input type="time",并且``input type="datetime-local"` 也不使用日历视图。

【问题讨论】:

  • 它可能是你的应用和测试应用使用的主题,你比较过吗?
  • 不是直接的,虽然这可能很有希望......我删除了工作示例的兼容库,出现与主题相关的错误,切换到一个有效的主题,并且选择器外观发生了变化!跨度>
  • @OlegBogdanov 哇,果然我将主题更改为“android:Theme.Holo.Light.DarkActionBar”,现在它可以工作了!把它作为一个答案,我会赞成/接受。

标签: android webview datepicker


【解决方案1】:

正如在 cmets 中所讨论的,您可能缺少正确的主题。鉴于您可以访问工作应用程序,请应用相同的主题,它应该可以解决它

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多