2016-03-06 2 views
1

Я искал свою проблему и читал подобные вопросы в stackoverflow, но я ничем не разрешаю.ScrollView не прокручивает фрагмент

У меня есть макет с coordinatorLayout (main.xml) и фрагмент с RelativeLayout (fragment.xml)

main.xml

<android.support.design.widget.AppBarLayout 
    android:id="@+id/appbar" 
    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:paddingRight="16dp" 
     app:layout_scrollFlags="scroll|enterAlways" 
     app:popupTheme="@style/AppTheme.PopupOverlay"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal"> 
      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="vertical" 
       android:layout_weight="1"> 
       <TextView 
        android:layout_width="match_parent" 
        android:layout_height="40dp" 
        android:text="FRAGMENT TITLE" 
        android:textSize="20sp" 
        android:textColor="@color/colorWhite" 
        android:id="@+id/main_toolbar_title" 
        android:gravity="center_vertical" /> 
      </LinearLayout> 
     </LinearLayout> 
    </android.support.v7.widget.Toolbar> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/tabs" 
     android:background="@color/colorWhite" 
     android:layout_width="match_parent" 
     android:layout_height="60dp" /> 
</android.support.design.widget.AppBarLayout> 

<android.support.v4.view.ViewPager 
    android:id="@+id/container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

fragment.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:padding="10dp" 
android:background="#f3f3f3"> 

<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 

     <android.support.v7.widget.CardView 
      android:id="@+id/card_view" 
      android:layout_gravity="center" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      card_view:contentPadding="1dp" 
      card_view:cardCornerRadius="2dp"> 

      <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:orientation="vertical"> 

       <Button 
        android:layout_width="match_parent" 
        android:layout_height="66dp" 
        android:textAllCaps="false" 
        android:text="Button Title" 
        android:textSize="18sp" 
        android:textColor="#404040"/> 
       <Button 
        android:layout_width="match_parent" 
        android:layout_height="66dp" 
        android:textAllCaps="false" 
        android:text="Button Title" 
        android:textSize="18sp" 
        android:textColor="#404040"/> 
       <Button 
        android:layout_width="match_parent" 
        android:layout_height="66dp" 
        android:textAllCaps="false" 
        android:text="Button Title" 
        android:textSize="18sp" 
        android:textColor="#404040"/> 
       <Button 
        android:layout_width="match_parent" 
        android:layout_height="66dp" 
        android:textAllCaps="false" 
        android:text="Button Title" 
        android:textSize="18sp" 
        android:textColor="#404040"/> 
       <Button 
        android:layout_width="match_parent" 
        android:layout_height="66dp" 
        android:textAllCaps="false" 
        android:text="Button Title" 
        android:textSize="18sp" 
        android:textColor="#404040"/> 
       <Button 
        android:layout_width="match_parent" 
        android:layout_height="66dp" 
        android:textAllCaps="false" 
        android:text="Button Title" 
        android:textSize="18sp" 
        android:textColor="#404040"/> 
       <Button 
        android:layout_width="match_parent" 
        android:layout_height="66dp" 
        android:textAllCaps="false" 
        android:text="Button Title" 
        android:textSize="18sp" 
        android:textColor="#404040"/> 
       <Button 
        android:layout_width="match_parent" 
        android:layout_height="66dp" 
        android:textAllCaps="false" 
        android:text="Button Title" 
        android:textSize="18sp" 
        android:textColor="#404040"/> 

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

Как вы уже видели, у меня есть несколько кнопок в Scrollview, но не скроллинга. Элементы ui в представлении пейджера, я сначала подумал, что это из-за просмотра пейджера, но у меня есть тест test_fragment.xml, он отлично работает.

Scrollview свитки, когда я нажать и удерживать вне поля зрения пейджера (напр., My First Tab) и перемещать палец вверх/вниз

test_fragment.xml

<android.support.design.widget.CoordinatorLayout 
android:id="@+id/quickreturn_coordinator" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 

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

В чем проблема?

Заранее спасибо.

ответ

5

Поскольку вы работаете с AppBarLayout, он не работает с простым ScrollView. вместо этого вы должны использовать NestedScrollview. и вы взяли ScrollView внутри RelativeLayout, что не нужно. повторите попытку с удалением RelativeLayout с помощью NestedScrollView.

Я думаю, это поможет.

+0

Спасибо, что он работает. Я принимаю ваш ответ, еще раз спасибо! –

+0

Рад это слышать .. :) –

+1

Помогло мне решить проблему. Было сложно найти проблему (AppBarLayout с scrollview), как вы определили эту проблему :)? – Amritesh

Смежные вопросы