Gridview滚动在scrollview中不起作用

问题描述 投票:1回答:2

在我的布局中,我使用滚动视图作为父布局,网格视图是子布局,图库图像在爱国者模式下正常工作,当将屏幕旋转到横向网格视图时滚动不起作用。

请帮我。

android gridview
2个回答
0
投票

我找到了一种方法,在ScrollView中为GridView提供固定大小,并启用滚动它。

为此,您必须实现一个扩展GridView的新类,并重写onTouchEvent()以调用requestDisallowInterceptTouchEvent(true)。因此,父视图将使网格拦截触摸事件。

GridView scrollable.Java:

package com.example;
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.widget.GridView;

public class GridViewScrollable extends GridView {

    public GridViewAdjuntos(Context context) {
        super(context);
    }

    public GridViewAdjuntos(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public GridViewAdjuntos(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
    }

    @Override
    public boolean onTouchEvent(MotionEvent ev){
        // Called when a child does not want this parent and its ancestors to intercept touch events.
        requestDisallowInterceptTouchEvent(true);
        return super.onTouchEvent(ev);
    }
}

在ScrollView中,在您的布局中添加您想要的特征:

<com.example.GridViewScrollable
android:id="@+id/myGVS"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:numColumns="auto_fit"
android:stretchMode="columnWidth" />

并在你的活动中得到它:

GridViewScrollable myGridView = (GridViewScrollable) findViewById(R.id.myGVS);

我希望它有帮助=)


0
投票

只需启用GridView属性即可

android:nestedScrollingEnabled =“true”它会起作用。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.