在我的布局中我使用滚动视图作为父布局,网格视图是子布局, 画廊图像在爱国者模式下工作正常,当将屏幕旋转到横向网格视图时滚动不起作用。
请帮帮我。
答案 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”它会起作用。