Gridview滚动在scrollview中不起作用

时间:2014-01-21 14:41:23

标签: android gridview

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

请帮帮我。

2 个答案:

答案 0 :(得分:0)

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

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

GridViewScrollable.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);

我希望它有帮助=)

答案 1 :(得分:0)

只需启用GridView属性

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