ScrollView和GridView滚动冲突的解决

来源:互联网 发布:毕向东java 编辑:程序博客网 时间:2024/05/17 09:44

GridView需要使用自定义的,定义一个MyGridView

public class MyGridView extends GridView {}

重写onMeasure方法

        @Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,MeasureSpec.AT_MOST);super.onMeasure(widthMeasureSpec, expandSpec); }

布局中使用自定义的 GridView 

   <ScrollView        android:id="@+id/scrollView1"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:scrollbars="none">        <LinearLayout            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:orientation="vertical" >             <com.sportstar.widget.MyGridView                android:id="@+id/gridView1"                android:layout_width="match_parent"                android:layout_height="wrap_content"                android:layout_marginTop="10dp"                android:horizontalSpacing="4dp"                android:numColumns="3"                android:stretchMode="columnWidth"                android:verticalSpacing="4dp" >            </com.sportstar.widget.MyGridView>         </LinearLayout>    </ScrollView>

在代码中设置ScrollView的属性
scrollView = (ScrollView) findViewById(R.id.scrollView1);scrollView.smoothScrollTo(0,0);

设置一下GridView禁止滚动

       gridView.setOnTouchListener(new OnTouchListener() {            @Override            public boolean onTouch(View v, MotionEvent event) {                 return MotionEvent.ACTION_MOVE == event.getAction() ? true                           : false;            }       });

-------------------------------------------------------------------------------------------------------------割割更健康-----------------------------------------------------------------------------------------------------------

好了 打完收工,看看效果图:



可以看到,GridView已经全部展开

有什么疑问,欢迎留言,评论,私信,求不喷~~微笑微笑大笑大笑





0 0
原创粉丝点击