博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android-Activity-Dialog theme touch outsize
阅读量:6907 次
发布时间:2019-06-27

本文共 516 字,大约阅读时间需要 1 分钟。

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

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

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

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

 

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

 

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

 

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

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

重写onTouchEvent

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

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

 

不行就继续找:

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

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

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

 

转载于:https://www.cnblogs.com/fwling/p/6029744.html

你可能感兴趣的文章
PTA循环,函数,数组作业
查看>>
新月集—家庭
查看>>
Gulp 笔记
查看>>
NOI2004郁闷的出纳员
查看>>
scrapy在ubuntu上安装总结
查看>>
Ubuntu抛弃了Untiy转向Gnome,美化之路怎么办?不用怕咱一步一步大变身!
查看>>
Hadoop编译
查看>>
bzoj 5355 kdtree 树链剖分
查看>>
序列化对象
查看>>
ubuntu安装甲骨文最新jdk7
查看>>
AngularJS, Ember.js, Backbone这类新框架与 jQuery的重要区别在哪里?
查看>>
director.js:客户端的路由---简明中文教程
查看>>
Web UI自动化测试中绕开验证码登陆方式浅谈
查看>>
get和load的区别
查看>>
未来的规划
查看>>
一起来学opencv(二):图片通道及色彩空间转化
查看>>
iOS后台运行
查看>>
1632: [Usaco2007 Feb]Lilypad Pond
查看>>
了解js运行机制——微任务与宏任务
查看>>
06 iOS 关闭侧滑返回
查看>>