码迷,mamicode.com
首页 > 移动开发 > 详细

Android-Activity-Dialog theme touch outsize

时间:2016-11-04 13:54:34      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:dial   支持   theme   bsp   属性   als   是你   点击   技术   

最近遇到一个蛋疼的问题:

一个Activity,主题设置成 Dialog 然后点击外面要求这个Activity 不能关闭。

这下好了,直接在 style 的 theme 里面加一个属性就好了。

技术分享

加上去发现要11以上的版本才支持,唉,蛋疼,现在谁还兼容15以下的,这话说的好,是没错,但我这是做sdk,所以倍疼。

 

然后继续寻找,找到了一个解决方案。是这样的:

技术分享

 

悲剧再次发生,依旧是11以上

 

接下来继续找,哎,找到了,找到了。。。

是这样的,捕捉外部的触摸,然后做相应的处理:

技术分享

重写onTouchEvent

技术分享

最后发现,也有问题,什么问题呢?就是事件会不断的往下面传,也就是你会点击到上一个 Activity 的控件,从而触发它的点击事件等等,反正一万个不爽。

于是,return true 改成 false 发现也不行(这说明我价值观还是正确的。)

 

不行就继续找:

最终的解决方案找到是这样的:

和上一种方式有点类似,就是捕获有效区域,无效的return ture; 重写dispatchTouchEvent

技术分享

对,没错,最终就是这样的。

 

Android-Activity-Dialog theme touch outsize

标签:dial   支持   theme   bsp   属性   als   是你   点击   技术   

原文地址:http://www.cnblogs.com/fwling/p/6029744.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!