文档章节

解决Fragment内点击穿透问题

假装是大神
 假装是大神
发布于 2015/06/26 10:13
字数 385
阅读 85
收藏 0

问题描述:

从A fragment跳转到B fragment ,为了返回时不从新加载A fragment内容,通常使用add方法来将a添加到后退栈.

但是这样会出现一个小问题:

在B Fragment 中点击一个空白区域,如果A Fragment的该位置正好有一个可以点击的控件,则A Fragment会响应到点击事件,更有甚者,如果B Fragment有时候还会和A Fragment重叠显示到一起(B Fragment 透明).

其实两个问题都好解决:

1.重叠显示问题:只要在Fragment的布局文件根节点设置一下backgroud就可以可,除了trasparent外都可以使两个fragment不在重叠显示在一起。

2.点击穿透到上一个fragment的问题:只要在Fragment中重写onTouch方法(Fragment要实现OnTouchListener).返回true.

  1. @Override  

  2.     public boolean onTouch(View v, MotionEvent event) {  

  3.         return true;  

  4.     }  

Fragment是存在于Activity中的碎片,所以Fragment的onTouch有时候响应不到(没验证是否是有时候响应不到,也可能是永远响应不到,全部被Activity给拦截掉了,如果是这样,那么上面的点击穿透解决方案就是完全无效的)。比较保守的解决方法就是再添加一步操作,在onCreateView方法的view 里面,给view添加上onTouchListener,这样就能让fragment点击的时候不再穿透到上一层的Fragment中去了


  1. @Override  

  2.     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {  

  3.         View view = inflater.inflate(R.layout.activity_bs_bookstore, null);  

  4.         view.setOnTouchListener(this);  

  5. }  


本文转载自:http://blog.csdn.net/joe_storm/article/details/43053127

共有 人打赏支持
假装是大神
粉丝 16
博文 33
码字总数 7065
作品 0
广州
技术主管
加载中

评论(1)

假装是大神
假装是大神
0
Android Fragment问题汇总

问题1:点击穿透 Fragment A 和Fragment B 的视图有重叠的时候 A在B之上 但是点击A的时候 触发了B的事件 >##解决办法 >把事件拦截掉就解决了

派赛克
2016/05/31
50
0
【前方高能】当运营商给你分配了内网IP后怎么当公网IP用!

最近看到不少人都在吐槽一个问题,就是宽带被运营商偷偷分配了内网IP。 事实上IPv4时代公网IP稀缺,运营商确实没有义务为每个用户提供公网IP,分配内网IP也是实属无奈之举。 但是有人想要使用...

我想要很长很长的名字
2016/04/19
4.5K
10
地图单击事件的灵活处理

@Kener-林峰 你好,想跟你请教个问题: 需求:显示全国地图,安徽省(举例)有具体内容,在安徽省位置显示一个logo,要求点击logo或者安徽省,可以进行穿透显示到具体内容,点击其他省份,不...

王宏达
2015/03/04
76
1
Vue.js 移动端 Web App 点击穿透问题解决方案

描述 在近期的一个移动端项目中,有一个页面需要有弹框提示,并且这个弹框通过关闭按钮关闭。页面当中使用了 iScroll 来实现页面局部滚动,在 iScroll 的配置当中把 和 事件都开启了。 代码如...

沉迷学习中
05/18
0
0
移动端web开发clicktouchtap的区别讲解

移动端用tap时会有穿透问题 一:click与tap比较 click与tap都会触发点击事件,但是在手机web端,click会有200-300ms的延迟,所以一般用tap代替click作为点击事件。singleTap和doubleTap分别代...

qq_15980201的博客
2017/12/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0
20180818 上课截图

小丑鱼00
今天
1
0
Springsecurity之SecurityContextHolderStrategy

注:下面分析的版本是spring-security-4.2.x,源码的github地址是: https://github.com/spring-projects/spring-security/tree/4.2.x 先上一张图: 图1 SecurityContextHolderStrategy的三个......

汉斯-冯-拉特
今天
1
0
LNMP架构(Nginx负载均衡、ssl原理、生成ssl密钥对、Nginx配置ssl)

Nginx负载均衡 网站的访问量越来越大,服务器的服务模式也得进行相应的升级,比如分离出数据库服务器、分离出图片作为单独服务,这些是简单的数据的负载均衡,将压力分散到不同的机器上。有时...

蛋黄_Yolks
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部