我有一个布局,可以从屏幕右侧拖动。
@Bind(R.id.left_drawer_layout)
DrawerLayout drawerLayout;
@OnClick(R.id.left_drawer)
void onLeftDrawer() {
if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
closeLeftDrawer();
} else {
drawerLayout.openDrawer(GravityCompat.START);
}
}
在这个抽屉里面,我有一个WebView,它显示了一些与webView边界相比尺寸巨大的内容。这就是为什么我需要向任何方向滚动它:
up
down
left
right
最后两个手势被DrawerLayout覆盖,而它的某些级别比webView高。
如何覆盖WebView的行为,以便它可以向任何方向拖动(可滚动)而不影响我的DrawerLayout?
答案 0 :(得分:0)
解决方案非常简单:在我们触摸WebView时锁定DrawerLayout:
webView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
((MainActivity) getActivity()).getDrawerLayout()
.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_OPEN);
} else if (event.getAction() == MotionEvent.ACTION_UP) {
((MainActivity) getActivity()).getDrawerLayout()
.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
}
return false;
}
});