2017-03-13 12 views
8

私はリサイクルビューの高さをwrap_contentに設定してそれを尊重しようとしていますが、レイアウト上の他のウィジェットを上回ります。 今何ができますか?ConstraintレイアウトでRecyclerViewの高さを "wrap_content"にする

<android.support.constraint.ConstraintLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@color/white"> 



    <TextView 
     android:id="@+id/tvPastRounds" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="16dp" 
     android:layout_marginTop="0dp" 
     android:text="Past Rounds" 
     android:textColor="@color/text_color_black" 
     android:textSize="16sp" 
     app:layout_constraintLeft_toLeftOf="parent"/> 
    <android.support.v7.widget.RecyclerView 
     android:id="@+id/recycler_view" 
     android:layout_width="0dp" 
     android:layout_height="0dp" 
     android:layout_marginBottom="24dp" 
     android:layout_marginEnd="8dp" 
     android:layout_marginRight="8dp" 
     android:layout_marginTop="16dp" 
     android:clipChildren="true" 
     android:maxHeight="150dp" 

     app:layout_constraintBottom_toBottomOf="parent" 
     app:layout_constraintHorizontal_bias="0.0" 
     app:layout_constraintLeft_toLeftOf="@+id/tvPastRounds" 
     app:layout_constraintRight_toRightOf="parent" 
     app:layout_constraintTop_toBottomOf="@+id/tvPastRounds" app:layout_constraintVertical_bias="0.0"/> 
</android.support.constraint.ConstraintLayout> 

答えて

21

私は同じ問題を持っていたし、私はこの解決策を見つける: あなたrecyclerviewにこの属性を追加する必要があり、それがconstraint_layoutであなたのrecyclerviewのwrap_contentを行います

app:layout_constraintHeight_default="wrap" 

は、このソリューションなら、私に知らせてあなたの問題を解決しました。

EDIT:リサイクル機の高さは0dpにする必要があります。

+1

良い仕事、それは多くの時間を節約! –

+9

これは、recyclerviewでandroid:layout_height = "0dp"とapp:layout_constraintHeight_default = "wrap"の両方を組み合わせた場合にのみ機能します。 –

+2

私はちょうどあなたがこのソリューションを見つけたのかどうか不思議です、それはどこにも書かれていません。 @SebasLG –

関連する問題