2016-03-21 180 views
1

我有一個滾動的滾動視圖,直到我添加了內部元素,它停止滾動。我嘗試了很多東西,包括將高度更改爲fill_parent或wrap_content,但不知何故我無法找到哪個值阻止滾動。任何人都可以幫忙這裏是我的佈局:Android:滾動視圖不再滾動

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

<RelativeLayout 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:id="@+id/bg_layout" 
android:fitsSystemWindows="false" 
android:background="@drawable/detail_background" 
tools:context="com.kalianey.oxapp.views.fragments.ProfileFragment"> 

    <com.kalianey.oxapp.utils.UIParallaxScroll //extends ScrollView 
    android:id="@+id/scroller" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true" 
    app:headerView="@+id/layout_top"> 

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:weightSum="1" 
     android:orientation="vertical"> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="fill_parent" 
      android:layout_weight="0.4" 
      android:id="@+id/cover_container"> 

      <com.kalianey.oxapp.utils.UICircularImage 
       xmlns:app="http://schemas.android.com/apk/res-auto" 
       android:id="@+id/image_view" 
       android:layout_width="125dp" 
       android:layout_height="125dp" 
       android:layout_alignParentTop="true" 
       android:layout_centerHorizontal="true" 
       android:layout_marginTop="50dp" 
       android:layout_marginBottom="5dp" 
       app:line_color="@android:color/white" 
       app:line_color_press="@color/theme_color" 
       app:line_width="1dp" 
       app:padding="0dp" /> 

      <TextView 
       android:id="@+id/title" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:fontFamily="sans-serif-light" 
       android:gravity="center" 
       android:paddingLeft="16dp" 
       android:paddingTop="10dp" 
       android:paddingRight="16dp" 
       android:text="@string/detail_title_placeholder" 
       android:textSize="@dimen/textsize_xlarge" 
       android:layout_below="@+id/image_view" 
       android:textColor="@android:color/white"/> 

      <TextView 
       android:id="@+id/sumary" 
       android:layout_below="@+id/title" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:fontFamily="sans-serif-light" 
       android:gravity="center" 
       android:paddingBottom="16dp" 
       android:text="@string/sumary_placeholder" 
       android:textColor="@color/white_transparent" 
       android:textSize="@dimen/textsize_medium_small" /> 

      <LinearLayout 
       android:id="@+id/statistics" 
       android:layout_below="@+id/sumary" 
       android:background="@color/gray_transparent" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="horizontal" > 

       <LinearLayout 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" 
        android:padding="5dp" 
        android:orientation="vertical" 
        android:background="@drawable/border_right" > 

        <ImageButton 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:id="@+id/imageButtonFriend" 
         android:layout_gravity="center_horizontal" 
         android:src="@drawable/user" 
         android:background="@android:color/transparent"/> 

       </LinearLayout> 

       <LinearLayout 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:padding="5dp" 
        android:layout_weight="1" 
        android:background="@color/gray_transparent" 
        android:orientation="vertical" > 

        <ImageButton 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:id="@+id/imageButtonFavorite" 
         android:layout_gravity="center_horizontal" 
         android:src="@drawable/star" 
         android:background="@android:color/transparent"/> 

       </LinearLayout> 

      </LinearLayout> 

     </RelativeLayout> 

     <LinearLayout 
      android:id="@+id/informations_container" 
      android:layout_width="match_parent" 
      android:layout_height="fill_parent" 
      android:layout_weight="0.6" 
      android:orientation="vertical" 
      android:background="@android:color/white" 
      android:layout_below="@+id/cover_container" 
      android:gravity="center" 
      android:padding="10dp"> 

      <com.kalianey.oxapp.utils.UITabs 
       android:id="@+id/toggle" 
       android:layout_gravity="center" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:orientation="horizontal" 
       android:layout_below="@+id/informations_container"> 

       <RadioButton 
        android:id="@+id/toggle1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" 
        android:padding="5dp" 
        android:checked="true" 
        android:text="@string/description_tab_1" 
        style="@style/UITabs" /> 

       <RadioButton 
        android:id="@+id/toggle2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_weight="1" 
        android:padding="5dp" 
        android:text="@string/description_tab_2" 
        android:layout_gravity="bottom" 
        style="@style/UITabs" /> 

      </com.kalianey.oxapp.utils.UITabs> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/profile_photo_text" 
       android:text="@string/profile_photo_text" 
       android:layout_gravity="left" 
       android:layout_marginBottom="10dp" 
       android:layout_marginLeft="@dimen/activity_horizontal_margin" 
       android:layout_marginRight="@dimen/activity_horizontal_margin" 
       android:layout_marginTop="20dp" /> 

      <TextView 
       android:id="@+id/noPhotos" 
       android:layout_below="@+id/profile_photo_text" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:fontFamily="sans-serif-light" 
       android:gravity="center" 
       android:text="@string/noPhotos" 
       android:textColor="@color/gray_light" 
       android:textSize="@dimen/textsize_medium_small" 
       android:textStyle="italic" 
       android:height="70dp" 
       android:visibility="gone"/> 


      <android.support.v7.widget.RecyclerView 
       android:id="@+id/grid_view" 
       android:layout_width="match_parent" 
       android:layout_height="250dp" 
       app:layoutManager="StaggeredGridLayoutManager" 
       android:layout_marginLeft="@dimen/activity_horizontal_margin" 
       android:layout_marginRight="@dimen/activity_horizontal_margin"/> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/profile_friend_text" 
       android:text="@string/profile_friend_text" 
       android:layout_gravity="left" 
       android:layout_marginTop="20dp" 
       android:layout_marginLeft="@dimen/activity_horizontal_margin" 
       android:layout_marginRight="@dimen/activity_horizontal_margin"/> 

      <TextView 
       android:id="@+id/noFriends" 
       android:layout_below="@+id/profile_friend_text" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:fontFamily="sans-serif-light" 
       android:gravity="center" 
       android:text="@string/noFriends" 
       android:textColor="@color/gray_light" 
       android:textSize="@dimen/textsize_medium_small" 
       android:textStyle="italic" 
       android:minHeight="50dp" 
       android:visibility="gone"/> 

      <org.lucasr.twowayview.TwoWayView 
       xmlns:android="http://schemas.android.com/apk/res/android" 
       xmlns:tools="http://schemas.android.com/tools" 
       xmlns:app="http://schemas.android.com/apk/res-auto" 
       android:id="@+id/friends_list" 
       style="@style/TwoWayView" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:drawSelectorOnTop="false" 
       tools:context=".MainActivity" 
       android:paddingTop="10dp" 
       android:paddingBottom="10dp" 
       android:layout_marginLeft="@dimen/activity_horizontal_margin" 
       android:layout_marginRight="@dimen/activity_horizontal_margin"/> 

      <se.emilsjolander.stickylistheaders.StickyListHeadersListView 
       android:id="@+id/questions_list" 
       android:layout_width="match_parent" 
       android:layout_height="500dp" 
       android:visibility="gone" /> 

     </LinearLayout> 

    </LinearLayout> 

</com.kalianey.oxapp.utils.UIParallaxScroll> 

<!-- "ActionBar" --> 

</RelativeLayout> 
+1

嵌套滾動'查看' - 像'RecyclerView'或'ListView's - 在一個普通的'ScrollView'中總是會引發問題。如果您有權訪問'UIParallaxScroll'的源代碼,您可以嘗試重構它以使用['NestedScrollView'](http://developer.android.com/reference/android/support/v4/widget/NestedScrollView.html) v4支持庫。或者改變你的設計,在其他地方移動這些滾動的「視圖」。 –

+0

可能的問題重複http://stackoverflow.com/questions/14076195/android-scrollview-not-滾動。 –

+0

@MikeM .:所以我改爲NestedScrollView,結果非常奇怪:在模擬器和手機上,它現在工作正常(謝謝順便!),但在平板電腦上它仍然不滾動...任何想法爲什麼? –

回答

0

看看下面的XML代碼,這將有助於你建立屏幕滾動,即使它包含回收視圖。

<android.support.design.widget.CoordinatorLayout 
    android:id="@+id/container" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 


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

    <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical" 
      android:paddingTop="24dp"> 

     <android.support.v7.widget.CardView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginBottom="16dp" 
       android:layout_marginLeft="16dp" 
       android:layout_marginRight="16dp"> 
      <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:orientation="vertical"> 
       <TextView 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:textSize="25dp" 
         android:gravity="center_horizontal" 
         android:textStyle="bold" 
         android:text=" " /> 
       <android.support.v7.widget.RecyclerView 
         android:id="@+id/rcy1" 
         android:layout_width="match_parent" 
         android:layout_height="250dp" 
         android:numColumns="4" 
         android:scrollbars="vertical" 
         android:adjustViewBounds="true" 
         android:gravity="center_horizontal" 
         android:horizontalSpacing="1dp" 
         android:padding="1dp" 
         android:background="@color/white" 
         android:stretchMode="columnWidth" 
         android:verticalSpacing="1dp"/> 

      </LinearLayout> 
     </android.support.v7.widget.CardView> 
     <android.support.v7.widget.CardView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginBottom="16dp" 
       android:layout_marginLeft="16dp" 
       android:layout_marginRight="16dp"> 
      <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:orientation="vertical"> 

       <android.support.v7.widget.RecyclerView 
         android:id="@+id/rcy2" 
         android:layout_width="match_parent" 
         android:layout_height="300dp" 
         android:layout_marginTop="10dp" 
         android:numColumns="3" 
         android:scrollbars="vertical" 
         android:adjustViewBounds="true" 
         android:gravity="center_horizontal" 
         android:horizontalSpacing="1dp" 
         android:padding="1dp" 
         android:background="@color/white" 
         android:stretchMode="columnWidth" 
         android:verticalSpacing="1dp"/> 

      </LinearLayout> 
     </android.support.v7.widget.CardView> 

    </LinearLayout> 

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

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

您可以使用您在this.Also想要的元素,你可以改變基CoordinatorLayout到的LinearLayout或RelativeLayout.Also不要忘記添加依賴關係部分的下方支撐在你的build.gradle文件。

compile 'com.android.support:appcompat-v7:23.2.0' 
compile 'com.android.support:design:23.2.0' 
compile 'com.android.support:cardview-v7:23.2.0' 
compile 'com.android.support:recyclerview-v7:23.2.0'