`
bk_lin
  • 浏览: 344759 次
社区版块
存档分类
最新评论

ScrollView嵌套GridView、ListView的解决办法

 
阅读更多
问题:
在Android开发当中经常会用到了需要ScrollView嵌套GridView或者是ListView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView或ListView会显示不全。
解决方案:
自定义GridView或ListView,去掉其滚动条。一下为GridView的例子。
复写GridView:
package com.yang.widget; 
 
import android.content.Context; 
import android.util.AttributeSet; 
import android.widget.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); 
    } 
 
} 
package com.yang.widget;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.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:
 <com.yang.widget.MyGridView 
             android:id="@id/bolg_category_gridview" 
             android:layout_width="fill_parent" 
             android:layout_height="wrap_content" 
             android:gravity="center" 
             android:horizontalSpacing="5dp" 
             android:numColumns="4" 
             android:stretchMode="columnWidth" 
             android:verticalSpacing="6dp" /> 
   <com.yang.widget.MyGridView
                android:id="@id/bolg_category_gridview"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:horizontalSpacing="5dp"
                android:numColumns="4"
                android:stretchMode="columnWidth"
                android:verticalSpacing="6dp" />
2
0
分享到:
评论
1 楼 ax003d 2013-04-03  
你好,我使用这种方法,在gridview里显示图片,当图片数量很多的时候,发现这个gridfview会一次性加载所有的图片,最后导致 outofmemory 错误。

相关推荐

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

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

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

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

    ScrollView嵌套listview或gridview

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

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

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

    ScrollView嵌套listView、GridView时滑动冲突

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

    Android 中ScrollView嵌套GridView.rar_GridView android_android_scrol

    在Android开发中,有时我们需要创建一个可滚动的...在提供的"Android 中ScrollView嵌套GridView,ListView的实例.pdf"文件中,应该包含了关于如何实际操作的详细步骤和示例代码,你可以参考这份文档来实践这一技术。

    Android 中ScrollView嵌套GridView,ListView的实例

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

    ScrollView嵌套listview(gridview)

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

    scrollview嵌套问题总汇

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

    Android解决ScrollView下嵌套ListView和GridView中内容显示不全的问题

    然而,当ScrollView嵌套ListView或GridView时,常常会遇到内容显示不全的问题。这个问题的主要原因在于ListView和GridView在ScrollView中无法正确测量自身高度,导致它们仅显示一部分数据。 首先,我们需要理解为...

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

    您可能感兴趣的文章:Android ScrollView 下嵌套 ListView 或 GridView出现问题解决办法Android中ScrollView嵌套GridView的解决办法Android 中ScrollView嵌套GridView,ListView的实例Android 中

    Android中ScrollView嵌套GridView的解决办法

    在Android应用开发中,有时我们需要在一个ScrollView中嵌套其他可滚动的视图,例如GridView或ListView,以便展示大量数据并允许用户滚动查看全部内容。然而,这种嵌套使用时会出现一个问题:由于ScrollView和...

    解决ScrollView嵌套ListView问题的几种方案

    总的来说,解决ScrollView嵌套ListView问题需要根据具体应用场景选择合适的方法。NestedScrollView、RecyclerView、HeaderView以及自定义ViewGroup都是有效的策略,开发者应根据项目需求和性能考虑来选择最佳方案。...

    scrollView嵌套ListView的下拉刷新和加载更多

    本示例中的"scrollView嵌套ListView的下拉刷新和加载更多"着重解决了这样一个问题:如何在ScrollView中嵌入一个具有下拉刷新和上拉加载功能的ListView,而且不依赖任何第三方库。这通常涉及到自定义滚动事件的处理和...

    ScrollView和ListView和GridView冲突解决

    本篇文章将深入探讨如何解决ScrollView与ListView、GridView之间的冲突问题。 首先,ScrollView是一个可以包含单个直接子视图的布局,它允许用户滚动内容,当内容超过屏幕大小时尤其有用。然而,ScrollView不支持...

    android 解决ScrollView和listView嵌套冲突问题(保证在ScrollView中滑动listView只响应listView的滑动)

    在Android开发中,ScrollView和ListView的嵌套是一个常见的需求,但同时也伴随着许多技术挑战,主要问题在于两者都具有滚动功能,导致冲突,使得用户在滚动时可能会遇到不确定的行为。本篇将详细介绍如何解决这种...

    Android ScrollView 嵌套解决方案

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

    ScrollView和ListView和GridView冲突解决之自定义ListView和GridView

    1. **嵌套滚动**:当ScrollView嵌套ListView或GridView时,由于两者都有滚动功能,会导致滚动冲突,即一个组件滚动时,另一个组件也可能跟随滚动。 2. **触摸事件处理**:ScrollView会捕获所有的触摸事件,导致...

    Android_ScrollView与ListView_GridView共存冲突解决方案

    总之,通过上述重写onMeasure方法的方式,可以解决Android中ScrollView与ListView或GridView嵌套导致的冲突问题。这种方法不仅适用于简单的嵌套,也能在数据量较大时保证应用的流畅性和用户体验。

Global site tag (gtag.js) - Google Analytics