在我的应用程序中,我在图像按钮的网格视图中创建了一个 SlidingUpPanelLayout。滑动面板是半隐藏的,当你向上滑动它时它会完全可见,当你向下滑动它时它会变成半隐藏。当您点击图像按钮时,它可以正常工作。我有一个需要解决的“错误”,当您在触摸图像按钮之间的区域时向上(或向下)滑动它时,滑动面板它可以正常工作,但是如果您在图像按钮附近或上的区域执行相同的操作,滑动面板不动。
这是我的代码:
在 gridview 和 ontouchlistener 上设置适配器
gridView.setAdapter(new GridServicesAdapter(getActivity(),
R.layout.grid_view_services_row, actions.getActions()));
gridView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_MOVE) {
return true;
}
return false;
}
});
在这里,我覆盖了 ongloballayout 以使用 SlidingUpPanelLayout
@Override
public void onGlobalLayout() {
SlidingUpPanelLayout root = (SlidingUpPanelLayout) getView()
.findViewById(R.id.sliding_layout);
if (slidingPanelHeight == null) {
WindowManager wm = (WindowManager) getActivity().getSystemService(
Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
slidingPanelHeight = root.getHeight()
- root.findViewById(R.id.indicator).getHeight()
- (int) (display.getWidth() * 9. / 16);
}
root.setPanelHeight(slidingPanelHeight);
root.getViewTreeObserver().removeGlobalOnLayoutListener(this);
}
我使用了这个库https://github.com/umano/AndroidSlidingUpPanel。
我想模仿的是很多应用程序的行为,google-play 应用程序就是一个很好的例子。当您在主页上时,您可以滚动页面,触摸您想要的区域,但如果您点击一个图标,您可以转到您点击的页面。请你帮助我好吗?:-) 谢谢