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);
    }




  • 相关阅读:
    第一次冲刺团队绩效评估
    各组意见汇总及我组改进方案
    对其他小组的评价和建议
    检查第一组博客状况
    第一次冲刺-站立会议10
    第一次冲刺-站立会议09
    第一次冲刺-站立会议08
    敏捷软件需求:团队、项目群与企业级的精益需求实践 阅读笔记二
    敏捷软件需求:团队、项目群与企业级的精益需求实践 阅读笔记一
    问题账户需求分析
  • 原文地址:https://www.cnblogs.com/lytwajue/p/6789698.html
Copyright © 2011-2022 走看看