DatePicker 三星Android5.0手机崩溃异常

    最近项目中不少地方用到了DatePicker,其他地方运行都没问题,但是当运行在Samsung手机的Android5.0系统上,一弹出时间选择界面便直接崩溃,导致异常:

Error ScreenShot

    在stack overflow 中搜索,并结合自身遇到的情况发现,这是由于在三星Android 5.0的实现中,若APP开发使用了Theme.AppCompat系列主题,变化产生此崩溃。于是解决思路便有了,方案有二,

一、修改Android 5.0中DatePicker的style,使其与Theme.AppCompat不产生联系;

二、修改系统主题。

明显,方法二更简单,但是APP的整体风格就变了,于是我选择了不影响此的方式,修改DatePicker的style,具体做法如下:

1 , styles.xml 中定义好DatePicker的style,


DatePicker Style

2,在需要弹出DatePicker的地方,进行一个版本的判断,若是5.0及以上,特殊处理:

if(Integer.valueOf(android.os.Build.VERSION.SDK) >= Build.VERSION_CODES.LOLLIPOP){         showDateDialog(ctx,view);



return;

}

弹出的dialog进行如下处理:


Special DatePickerDialog

3,剩余的部分处理和其他版本一致即可。

至此,此异常已解决。

ps:

    待续:此处还有值得研究之处,待之后完善。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,142评论 25 708
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,509评论 2 45
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,510评论 0 17
  • 今天晚上的作业是贴图片,把剪好的图片安要求贴在书上。放了学我们就去买胶棒,跑了两个超市都没买到,天快黑了,忽然想起...
    邓文旭阅读 248评论 0 0
  • 当你时常想着开心的事情,那么你的生活就是开心的。把你时常想着下一秒会有什么惊喜出现,那你的生活就是充满惊喜。 每天...
    涂涂的密码锁阅读 192评论 0 0