2016-09-25 149 views
0

我gridview不滚动。我在gridview中有10个项目,但只有6个显示,并在底部的一些项目中断。无法滚动GridView嵌入嵌套滚动视图

这里是GridView控件的布局:

<?xml version="1.0" encoding="utf-8"?> 

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:id="@+id/appbar_layout" 
    android:layout_height="@dimen/app_bar_height" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

    <android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/collapsing_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:contentScrim="?attr/colorPrimary" 
     app:expandedTitleMarginStart="@dimen/expanded_toolbar_title_margin_start" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

     <ImageView 
      android:id="@+id/image_view" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:scaleType="centerInside" 
      android:src="@drawable/yelp" 
      app:layout_collapseMode="parallax" 
      app:layout_collapseParallaxMultiplier="0.7" /> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_collapseMode="pin" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
      app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" /> 

    </android.support.design.widget.CollapsingToolbarLayout> 

</android.support.design.widget.AppBarLayout> 

<android.support.v4.widget.NestedScrollView 
    android:layout_width="match_parent" 
    android:id="@+id/nestedscrollview" 
    android:layout_height="match_parent" 
    android:fillViewport="true" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <RelativeLayout 
     android:id="@+id/gridContainerLayout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     > 


     <GridView 
      android:id="@+id/grid" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:columnWidth="100dp" 
      android:gravity="center" 
      android:listSelector="#00000000" 
      android:numColumns="auto_fit" 
      android:stretchMode="columnWidth" 
      /> 

     <ProgressBar 
      android:id="@+id/progressBar1" 
      style="?android:attr/progressBarStyleLarge" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" /> 

    </RelativeLayout> 
</android.support.v4.widget.NestedScrollView> 

这里有两张照片的问题。当我向上滚动它推动yelp图像,但它不会执行gridview上的嵌套滚动,为什么?

enter image description here

enter image description here

UPDATE: 我也试着这样做:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
      mGridView.setNestedScrollingEnabled(true); 
     } 

,并开始着手API棒棒糖。但我需要它也可以在较旧的设备上运行。为什么不在棒棒糖之前在设备上滚动?

回答

1

您可以使用RecyclerView和GridLayout来代替GridView。然后禁用嵌套滚动,可以在前棒棒糖版本上完成。