0

在我的应用程序中,我在图像按钮的网格视图中创建了一个 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 应用程序就是一个很好的例子。当您在主页上时,您可以滚动页面,触摸您想要的区域,但如果您点击一个图标,您可以转到您点击的页面。请你帮助我好吗?:-) 谢谢

4

0 回答 0