zoukankan      html  css  js  c++  java
  • 关于fragment点击能穿透问题

    本人在做项目的过程中遇到的这个问题,然后就在网上百度了一下,之后也是在csdn上看到博友发过此类问题的解决的方法,所以特此又一次总结一下。顺便也给自己提个醒,避免出现此类问题。好!

    以下我们说一下问题:


    举例:当我们建立一个fragment A的时候须要点击跳转到fragment B中,为了返回时不又一次载入fragment A所以我们会使用add的方法来讲fragment A增加到后退栈中。


    当在fragment B中点击一个空白区域。恰好空白区域相相应的位置在fragment A中有相应的控件,则fragment A会响应到点击事件。有的时候还是fragmentB和fragment A重叠到一起显示(fragmentB透明)


    以下解决重叠到一起的问题:

    仅仅要在fragment的布局文件的根节点设置一下background就能够了,除了trasparent外都能够使两个fragment不在重叠显示到一起了。


    以下一个点击能穿透的问题:

    仅仅要我们在fragment中重写View.OnTouchListener的OnTouch方法(当然fragment要实现OnTouchListener监听)。将返回值设置为true。

    @Override
    	public boolean onTouch(View v, MotionEvent event) {
    		return true;
    	}
    原因:

    Fragment是存在于Activity的碎片,所以Fragment的onTouch的方法有时候不能全然的响应到或者根本就不可能响应到。所有让Activity给拦截掉了,假设这样。我们有一种比較保守的解决方法。就是再加入一步操作,在onCreateView方法中的view里面加入OnTouchListener,这样就能让fragment点击的时候不再穿透到上一层的fragment中去了,直接在当前的fragment层给消化掉了。

    @Override
    	public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    		View view = inflater.inflate(R.layout.activity_bs_bookstore, null);
    		view.setOnTouchListener(this);
    }




  • 相关阅读:
    #网络流,最小割#洛谷 1344 [USACO4.4]追查坏牛奶Pollutant Control
    #线段树,倒序#CF356A Knight Tournament
    #错排,高精度#洛谷 3182 [HAOI2016]放棋子
    #KMP,dp#洛谷 3426 [POI2005]SZA-Template
    #差分约束系统,Spfa,SLF优化#Hdu 3666 THE MATRIX PROBLEM
    #min_max容斥#Hdu 4336 Card Collector
    #组合计数,卢卡斯定理#D 三元组
    #计数,记忆化搜索#C 连边方案
    #区间dp,离散#D 弱者对决
    #dp#C 公共子序列
  • 原文地址:https://www.cnblogs.com/lytwajue/p/6789698.html
Copyright © 2011-2022 走看看