`

ScrollView嵌套GridView的解决办法

阅读更多
前些日子在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView会显示不全。

解决办法,自定义一个GridView控件
public class MyGridView extends GridView {

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

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

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

    @Override
    public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

        int expandSpec = MeasureSpec.makeMeasureSpec(
                Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, expandSpec);
    }
}
该自定义控件只是重写了GridView的onMeasure方法,使其不会出现滚动条,ScrollView嵌套ListView也是同样的道理,不再赘述。

XML布局代码

<ScrollView Android:layout_height="wrap_content"
        Android:layout_width="fill_parent" android:id="@+id/scroll_content">
        <com.yourclass.MyGridView xmlns:Android="http://schemas.android.com/apk/res/android"
            Android:id="@+id/grid_view" android:layout_width="fill_parent"
            Android:layout_height="wrap_content" android:numColumns="auto_fit"
            Android:horizontalSpacing="1dip" android:verticalSpacing="1dip"
            Android:columnWidth="150dip" android:stretchMode="columnWidth"
            Android:gravity="center">
            
        </com.yourclass.MyGridView>
    </ScrollView>

Java调用代码

MyGridView gridview = (MyGridView) findViewById(R.id.grid_view);
gridview.setAdapter(new ImageAdapter(this));
分享到:
评论

相关推荐

    ScrollView嵌套GridView不能滚动的问题解决方案

    ScrollView嵌套GridView不能滚动的问题解决方案 在 Android 开发中,我们经常会遇到 ScrollView 嵌套 GridView 的问题,导致页面不能滚动的问题。这个问题的出现是因为 ScrollView 和 GridView 都带有滚动条,当...

    Android ScrollView嵌套ListView嵌套GridView的上下拉以及加载更多

    总的来说,Android开发中的ScrollView嵌套ListView和GridView是一项挑战,但通过巧妙地使用SwipeRefreshLayout、自定义适配器和滚动事件处理,我们可以构建出高效且功能丰富的用户界面。同时,不断优化性能和用户...

    Android 中ScrollView嵌套GridView.rar_GridView android_android_scrol

    标题"Android 中ScrollView嵌套GridView"指的是在ScrollView内嵌套一个GridView的实现方法。这种组合可以使我们构建出一个既可以整体滚动,又能在每个单元格内进行水平滑动的界面,适用于展示多行多列的数据,并且...

    深入解析ScrollView嵌套GridView显示不全问题及解决方案

    优化 GridView 的 item 布局也是解决 ScrollView 嵌套 GridView 显示不全问题的一个有效方法。通常情况下,item 布局中的图片和文本可能会影响整个 GridView 的显示效果。 **优化 Item 布局的建议** 1. **使用图片...

    Android编程开发之ScrollView嵌套GridView的方法

    总之,Android开发中ScrollView嵌套GridView的问题是一个常见的挑战,通过自定义GridView或使用更现代的滚动组件,我们可以有效地解决这个问题,确保用户能够完整地浏览所有内容。同时,持续关注Android API的更新和...

    Android中ScrollView嵌套GridView显示不全解决方法

    解决ScrollView嵌套GridView显示不全的方法有以下几种: 1. **禁用GridView的滚动**:通过设置`android:nestedScrollingEnabled="false"`属性,禁用GridView的内部滚动,让所有滚动行为由ScrollView处理。 2. **...

    scrollview嵌套问题总汇

    本篇文章将详细探讨“ScrollView嵌套问题总汇”,包括S嵌L(ScrollView嵌套ListView)、S嵌G(ScrollView嵌套GridView)、S嵌S(ScrollView嵌套ScrollView)、H嵌G(HorizontalScrollView嵌套GridView)以及S嵌(H嵌G...

    ScrollView嵌套listView、GridView时滑动冲突

    1、ScrollView嵌套listView、GridView时滑动冲突,自定义 ListView、GridView; 2、自定义ScrollView,解决 当有横向的滑动操作时,与ScrollView上下滑动冲突; 2、横向ListView

    Android 中ScrollView嵌套GridView,ListView的实例

    Android 中ScrollView嵌套GridView,ListView的实例 在Android开发中,经常有一些UI需要进行固定style的动态布局,然而由于现在的UI都喜欢把一个界面拉的很长,所以我们很多情况下需要使用ScrollView来嵌套列表控件...

    ScrollView嵌套listview或gridview

    当ScrollView中嵌套ListView或者GrideView时,listView和GrideView不能完全显示的时候

    ScrollView,嵌套ListView,ListView并同时嵌套GridView

    但是,直接将ScrollView嵌套在ListView或者GridView中会带来问题,因为这可能导致滚动冲突。当ScrollView和ListView/GridView都尝试处理用户的滑动事件时,可能会导致滚动不顺畅或者无法正常滚动。为了解决这个问题...

    Android ScrollView 嵌套解决方案

    解决ScrollView嵌套问题有几种策略: 1. **使用NestedScrollView**:Android Support Library提供了一个名为NestedScrollView的类,它是ScrollView的一个优化版本,特别设计用于处理嵌套滚动。NestedScrollView支持...

    解决scrollView和gridView和ListView嵌套的冲突

    本篇文章将详细探讨如何解决ScrollView与GridView、ListView嵌套时的冲突,并讨论如何动态测量ListView和GridView的高度。 首先,我们要理解为什么会出现这种冲突。ScrollView是一个可以容纳一个子视图并允许用户...

    Android中ScrollView嵌套GridView的解决办法

    前些日子在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView会显示不全。 找到大家的通用解决办法。记录一下。 解决办法,自定义一个...

    Android ScrollView+GridView左右滑动 自动定位滑动到某一项

    在ScrollView中嵌套GridView时,需要注意避免冲突,因为两者都有滚动功能,合理配置可以使用户体验更佳。 接下来,我们关注GridView。GridView是基于Adapter的控件,它可以动态加载数据并将其组织成网格形式。每个...

    ScrollView嵌套listview(gridview)

    综上所述,ScrollView嵌套ListView或GridView涉及到滚动冲突的处理、性能优化和用户体验的改进等多个方面。开发者需要根据具体需求选择合适的方法,并进行细致的测试以确保应用的稳定性和流畅性。在实际开发中,还...

Global site tag (gtag.js) - Google Analytics