Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

请教“穿透”问题 #249

Closed
AndyLeeBlue opened this issue Mar 8, 2017 · 12 comments
Closed

请教“穿透”问题 #249

AndyLeeBlue opened this issue Mar 8, 2017 · 12 comments

Comments

@AndyLeeBlue
Copy link

使用类似“微信”的模式,下面是个TAB,有5页,一次将5个Fra加载出来,但是每个F都有一个百度地图,放5个地图肯定是不对的,因此放一个地图在一Act中显示,其他的Fra控制这个Act中的地图,每个Fra上会根据功能不同有不同的按钮(同一个位置),因此就需要Fra是可以穿透点击操作地图的,但是按钮部分不能穿透,现在用您这个库,发现Fra是不能穿透点击的,也看不到后面的地图,就算设置了透明能看到但是不能操作,请问该如何?

@AndyLeeBlue
Copy link
Author

项目时间紧,在线急等,如果不行的话,只能将5个Fra的逻辑写在一个Fra中,用标签去判断,这样逻辑太混乱了。

@YoKeyword
Copy link
Owner

YoKeyword commented Mar 8, 2017

onActivityCreated()里设置getView().setClickable(false);试试

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        getView().setClickable(false);
    }

@AndyLeeBlue
Copy link
Author

试过了,不行,请问继承的SupportFragment都是不透明,不能穿透的吗?

@YoKeyword
Copy link
Owner

稍等,我试试~

@YoKeyword
Copy link
Owner

.... 我又审了下题, 你的意思是Fragment其他部分都可以穿透,但是按钮的部分不能穿透是吗?

按钮本身有点击事件,Touch拦截掉了,当然不能穿透操作下面的地图...

@AndyLeeBlue
Copy link
Author

不完全是,刚才我又试了下,可以控制地图了,因为我Act里面还有一个Fra,用这个Fra来做5个Fra的容器的,我把这个容器Fra的clickable=false就可以了。但是还有个问题,就是切换过一次后,又不能控制了。

@AndyLeeBlue
Copy link
Author

AndyLeeBlue commented Mar 8, 2017

先不说按钮的事情

添加了这段后,可以控制地图了,切换一次就又不能控制地图了,但是奇怪的是,地图再切换一次回来,发现地图是变化的,也就是说是上一次控制的当时没显示出来,而且地图变的很不顺畅。

@YoKeyword
Copy link
Owner

切换一次不能控制,5个Tab应该都需要写入这段代码,如果5个Tab还有父Fragment,父Fragment也要写入;

SupportFragment的onActivityCreated ()有一句 getView().setClickable(true),这端代码是很久以前加的,应该可以去掉了,下版本移除,这样就不会拦截普通布局的点击事件了

@AndyLeeBlue
Copy link
Author

都加了,但是仍然是切换一次不能控制

@AndyLeeBlue
Copy link
Author

2017-03-08 11 25 10

解决了,只要在父类加入getView().setClickable(true)即可,切换一次不能控制是因为父类里面的可见方法中设置了地图的pause和resume了,去掉就可以了。谢谢大神。

@AndyLeeBlue
Copy link
Author

可否建议给Fra设置一个选项,默认是true,表示不穿透白背景色;设置false,穿透并将背景色设置为透明。

@YoKeyword
Copy link
Owner

感谢建议; 下版本会默认可穿透; 透明问题,通过设置background即可简单解决,这里考虑不添加API了 :)

YoKeyword added a commit that referenced this issue Apr 26, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants