2016-03-21 181 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'