2016-05-13 14 views
6

match_parent yüksekliği çocukla kaydırma olamazdı, ne bekliyoruz geçerli:NestedScrollView böyle NestedScrollView olan bir fragman ile NonSwipeableViewPager uygulamak

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true"> 

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

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

      <include 
       android:id="@+id/header" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       layout="@layout/header" /> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentBottom="true" 
       android:layout_centerHorizontal="true" 
       android:layout_marginBottom="16dp" 
       android:src="@drawable/ic_up" /> 

     </RelativeLayout> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Text 1" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Text 2" /> 

    </LinearLayout> 

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

Ama kaydırma edemedi Ben Bu LinearLayout android:layout_height="wrap_content" olmalıdır

+1

scrollview biz match_parent yüksekliği ile bunu yapmak için herhangi bir yolu yok bu yüzden çocuklarının boy yaptığımız, –

+0

@TimCastelijns wrap_content gerekiyor? –

+0

Bu bir scrollviewin nasıl çalıştığıdır, scrollview'i ebeveynle eşleşecek şekilde ayarlayabilirsin, ama scrollview'in çocuğunu değil, içeriği kaydırması gerekiyor –

cevap

27
<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true"> 

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

türlü çözüme alamadım hala birçok yolu denediklerini ancak.

Bunun nedeni, scrollview'in çocuğunun scrollview ile aynı boyutta olması durumunda (her ikisi de match_parent yükseklik için), aynı boyutta olduklarından ve kaydırma görünümü yalnızca ekran kadar yüksek.

Linelaylayış wrap_content yüksekliğindeyse, yükseklik ekranın yüksekliğiyle ilişkili değildir ve kaydırma ekranı bunun içinde gezinebilir.

Sadece bir Scrollview sadece 1 doğrudan çocuk sahibi unutmayın ve o çocuk benim durumumda app:layout_behavior="@string/appbar_scrolling_view_behavior" yılında android:layout_height="wrap_content"

+0

Awesome man! ......... –

+1

Benim için sadece fillViewPort = true' woked. Benim durumumda çocuğun boyu önemli değildi –

+0

fillViewPort = true da benim için çözdü. Teşekkürler! –

-4

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

cevabınızı daha fazla açıklayabilir misiniz? – Caipivara

1

ihtiyacı biraz bir yüz sorun denemek olacaksa bu ancak çalışıyor ve sorununuzu da çözebilir. android:fillViewport="true"'u da eklemelisiniz, ancak bu kodum çalışmaz.

<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:background="@drawable/subscription_background" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior"> 
İlgili konular