2017-05-04 59 views
2

我正在做一個android應用程序。在我的應用程序中,我想滾動GridView和其他項目在我的佈局在同時。但是當我將ScrollView添加到父佈局時,GridView滾動不起作用,它只顯示第一行項目。我試圖ScrollView,NestedScrollView等,但沒有得到積極的結果。我不知道如何解決它,如果有人知道它請幫助我。在GridView中滾動不工作在android

xml文件

<?xml version="1.0" encoding="utf-8"?> 
    <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context="activities.Home"> 

    <android.support.design.widget.AppBarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      app:popupTheme="@style/AppTheme.PopupOverlay" /> 

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

<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 
    <LinearLayout 
     android:layout_marginTop="50dp" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 


     <RelativeLayout 
      android:id="@+id/Rlayout_menus" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:padding="15dp"> 


      <LinearLayout 
       android:id="@+id/layoutmenu1" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="horizontal"> 



      <!--Offers--> 

      <LinearLayout 
       android:id="@+id/menu_offers" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:orientation="vertical"> 

       <ImageView 
        android:layout_width="55dp" 
        android:layout_height="55dp" 
        android:background="@drawable/roundblue" 
        android:scaleType="center" 
        android:src="@drawable/offer" /> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:text="Offers" 
        android:textColor="@color/black" /> 

      </LinearLayout> 

      <!--Menu--> 

      <LinearLayout 
       android:id="@+id/menu_menu" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="13dp" 
       android:layout_toRightOf="@+id/menu_offers" 
       android:orientation="vertical"> 

       <ImageView 
        android:layout_width="55dp" 
        android:layout_height="55dp" 
        android:background="@drawable/roundblue" 
        android:scaleType="center" 
        android:src="@drawable/menu" /> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:text="Menu" 
        android:textColor="@color/black" /> 

      </LinearLayout> 

      <!--Exchange--> 

      <LinearLayout 
       android:id="@+id/menu_exchange" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="13dp" 
       android:layout_toRightOf="@+id/menu_menu" 
       android:orientation="vertical"> 

       <ImageView 
        android:id="@+id/img_exchange" 
        android:layout_width="55dp" 
        android:layout_height="55dp" 
        android:background="@drawable/roundblue" 
        android:scaleType="center" 
        android:src="@drawable/exchange" /> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:text="Exchange" 
        android:textColor="@color/black" /> 

      </LinearLayout> 

      <!--Health--> 

      <LinearLayout 
       android:id="@+id/menu_health" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="13dp" 
       android:layout_toRightOf="@+id/menu_exchange" 
       android:orientation="vertical"> 

       <ImageView 
        android:layout_width="55dp" 
        android:layout_height="55dp" 
        android:background="@drawable/roundblue" 
        android:scaleType="center" 
        android:src="@drawable/health" /> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:text="Health" 
        android:textColor="@color/black" /> 

      </LinearLayout> 


      <!--Less--> 

      <LinearLayout 
       android:id="@+id/menu_less" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="13dp" 
       android:layout_toRightOf="@+id/menu_health" 
       android:orientation="vertical"> 

       <ImageView 
        android:id="@+id/img_less_more" 
        android:layout_width="55dp" 
        android:layout_height="55dp" 
        android:background="@drawable/roundblue" 
        android:scaleType="center" 
        android:src="@drawable/less" /> 

       <TextView 
        android:id="@+id/txt_less_more" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:text="Less" 
        android:textColor="@color/black" /> 

      </LinearLayout> 
      </LinearLayout> 
      <LinearLayout 
       android:id="@+id/layoutmenu2" 
       android:layout_below="@+id/layoutmenu1" 
       android:orientation="horizontal" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       > 


      <!--Bank--> 

      <LinearLayout 
       android:id="@+id/menu_bank" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_below="@+id/menu_offers" 
       android:layout_marginTop="10dp" 
       android:orientation="vertical"> 

       <ImageView 
        android:layout_width="55dp" 
        android:layout_height="55dp" 
        android:background="@drawable/roundblue" 
        android:scaleType="center" 
        android:src="@drawable/bank" /> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:text="Bank" 
        android:textColor="@color/black" /> 

      </LinearLayout> 


      <!--SOS--> 

      <LinearLayout 
       android:id="@+id/menu_sos" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_below="@+id/menu_menu" 
       android:layout_marginLeft="13dp" 
       android:layout_marginTop="10dp" 
       android:layout_toRightOf="@+id/menu_bank" 
       android:orientation="vertical"> 

       <ImageView 
        android:layout_width="55dp" 
        android:layout_height="55dp" 
        android:background="@drawable/roundblue" 
        android:scaleType="center" 
        android:src="@drawable/sos" /> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center" 
        android:text="SOS" 
        android:textColor="@color/black" /> 

      </LinearLayout> 
      </LinearLayout> 

     </RelativeLayout> 

     <View 
      android:id="@+id/view" 
      android:layout_width="match_parent" 
      android:layout_height="3dp" 
      android:layout_below="@id/Rlayout_menus" 
      android:background="#F0F0F0" /> 


     <RelativeLayout 
      android:id="@+id/layout_subCat" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/view"> 

      <TextView 
       android:id="@+id/txt_category" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="15dp" 
       android:layout_marginTop="10dp" 
       android:text="Search by Catagory" 
       android:textColor="@color/black" 
       android:textStyle="bold" /> 

      <HorizontalScrollView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:scrollbarThumbHorizontal="@null" 
       android:scrollbars="horizontal"> 

       <LinearLayout 

        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_marginTop="10dp" 
        android:orientation="horizontal"> 

        <Button 
         android:id="@+id/btn_electronics" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_marginLeft="15dp" 
         android:layout_marginTop="28dp" 
         android:background="@drawable/rect_m" 
         android:drawableLeft="@drawable/electronics" 
         android:paddingRight="10dp" 
         android:text="Electronics" 
         android:textAllCaps="false" 
         android:textColor="#FFFFFF" 
         android:textStyle="bold" /> 

        <Button 
         android:id="@+id/btn_food" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_marginLeft="15dp" 
         android:layout_marginTop="28dp" 
         android:background="@drawable/rect_g" 
         android:drawableLeft="@drawable/food" 
         android:drawablePadding="5dp" 
         android:paddingLeft="5dp" 
         android:text="Food" 
         android:textAlignment="textStart" 
         android:textAllCaps="false" 
         android:textColor="#FFFFFF" 
         android:textStyle="bold" 

         /> 

        <Button 
         android:id="@+id/btn_cosmetics" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_marginLeft="15dp" 
         android:layout_marginTop="28dp" 
         android:background="@drawable/rect_b" 
         android:drawableLeft="@drawable/cosmetics" 
         android:drawablePadding="5dp" 
         android:paddingLeft="5dp" 
         android:paddingRight="10dp" 
         android:text="Cosmetics" 
         android:textAllCaps="false" 
         android:textColor="#FFFFFF" 
         android:textStyle="bold" 

         /> 

        <Button 
         android:id="@+id/btn_nonfood" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_marginLeft="15dp" 
         android:layout_marginRight="10dp" 
         android:layout_marginTop="28dp" 
         android:background="@drawable/elctronics_btn" 
         android:backgroundTint="#e2ef0e15" 
         android:text="Non Food" 
         android:textAllCaps="false" 
         android:textColor="#FFFFFF" 
         android:textStyle="bold" 

         /> 

       </LinearLayout> 
      </HorizontalScrollView> 

     </RelativeLayout> 

     <View 
      android:id="@+id/view2" 
      android:layout_width="match_parent" 
      android:layout_height="3dp" 
      android:layout_below="@id/layout_subCat" 
      android:layout_marginTop="15dp" 
      android:background="#F0F0F0" /> 

     <RelativeLayout 
      android:id="@+id/layout_company" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/view2" 
      android:background="#E7E7E7"> 

      <TextView 
       android:id="@+id/txt_company" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginLeft="15dp" 
       android:layout_marginTop="5dp" 
       android:text="Search by Company" 
       android:textColor="@color/black" 
       android:textStyle="bold" /> 

      <HorizontalScrollView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:scrollbarThumbHorizontal="@null" 
       android:scrollbars="horizontal"> 

       <RelativeLayout 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"> 


        <LinearLayout 
         android:id="@+id/company1" 
         android:layout_width="60dp" 
         android:layout_height="60dp" 
         android:layout_marginLeft="15dp" 
         android:layout_marginTop="25dp" 
         android:background="#FFF" 
         android:gravity="center"> 

         <ImageView 
          android:layout_width="50dp" 
          android:layout_height="50dp" 
          android:src="@drawable/company_logo" /> 
        </LinearLayout> 

        <LinearLayout 
         android:id="@+id/company2" 
         android:layout_width="60dp" 
         android:layout_height="60dp" 
         android:layout_marginTop="25dp" 
         android:layout_toRightOf="@+id/company1" 
         android:gravity="center"> 

         <ImageView 
          android:layout_width="50dp" 
          android:layout_height="50dp" 
          android:src="@drawable/company_logo" /> 
        </LinearLayout> 

        <LinearLayout 
         android:id="@+id/company3" 
         android:layout_width="60dp" 
         android:layout_height="60dp" 
         android:layout_marginTop="25dp" 
         android:layout_toRightOf="@+id/company2" 
         android:gravity="center"> 

         <ImageView 
          android:layout_width="50dp" 
          android:layout_height="50dp" 
          android:src="@drawable/company_logo" /> 
        </LinearLayout> 

        <LinearLayout 
         android:id="@+id/company4" 
         android:layout_width="60dp" 
         android:layout_height="60dp" 
         android:layout_marginTop="25dp" 
         android:layout_toRightOf="@+id/company3" 
         android:gravity="center" 

         > 

         <ImageView 
          android:layout_width="50dp" 
          android:layout_height="50dp" 
          android:src="@drawable/company_logo" /> 
        </LinearLayout> 

        <LinearLayout 
         android:id="@+id/company5" 
         android:layout_width="60dp" 
         android:layout_height="60dp" 
         android:layout_marginTop="25dp" 
         android:layout_toRightOf="@+id/company4" 
         android:gravity="center" 

         > 

         <ImageView 
          android:layout_width="50dp" 
          android:layout_height="50dp" 
          android:src="@drawable/company_logo" /> 
        </LinearLayout> 

        <LinearLayout 
         android:id="@+id/company6" 
         android:layout_width="60dp" 
         android:layout_height="60dp" 
         android:layout_marginTop="25dp" 
         android:layout_toRightOf="@+id/company5" 
         android:gravity="center" 

         > 

         <ImageView 
          android:layout_width="50dp" 
          android:layout_height="50dp" 
          android:src="@drawable/company_logo" /> 
        </LinearLayout> 

        <LinearLayout 
         android:id="@+id/company7" 
         android:layout_width="60dp" 
         android:layout_height="60dp" 
         android:layout_marginTop="25dp" 
         android:layout_toRightOf="@+id/company6" 
         android:gravity="center" 

         > 

         <ImageView 
          android:layout_width="50dp" 
          android:layout_height="50dp" 
          android:src="@drawable/company_logo" /> 
        </LinearLayout> 

       </RelativeLayout> 

      </HorizontalScrollView> 

     </RelativeLayout> 


     <GridView 
      android:id="@+id/home_grid" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_centerHorizontal="true" 
      android:gravity="center" 
      android:layout_weight="1" 
      android:horizontalSpacing="10dp" 
      android:numColumns="2" /> 

    </LinearLayout> 
</ScrollView> 
    <ViewStub 
     android:layout_marginTop="240dp" 
     android:id="@+id/layout_stub" 
     android:inflatedId="@+id/message_layout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     /> 

</android.support.design.widget.CoordinatorLayout> 
+0

外部。如果你需要一個嵌套的滾動,使用NestedScrollView和RecyclerView,不要把GridView的成滾動型 –

+0

我也使用NestedScrollView。但它不起作用 – Astro

+0

不使用NestedScrollView和GridView,使用它與Recyclerview。這些是爲了一起工作而開發的。 –

回答

0

只要啓用你的GridView物業

機器人:nestedScrollingEnabled = 「真」 它將工作。

0

查看此答案How to put GridView inside ScrollView

如果您無論如何要滾動的GridView,在你的父母佈局中使用它(的LinearLayout與weightSum)滾動視圖的子佈局