Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

make RecyclerView's height to "wrap_content" in Constraint layout

i'm trying to set the height of recycler view on wrap_content and make it respect that,but it will exceed the other widget on layout. what can i do now?

<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> 
like image 208
ali samawi Avatar asked Mar 13 '17 11:03

ali samawi


People also ask

What does 0dp mean in constraint layout?

for the children of ConstraintLayout if you have set constraints then the 0dp is for match_constraint (take full width, or full height) Using 0dp, which is the equivalent of "MATCH_CONSTRAINT" https://developer.android.com/reference/android/support/constraint/ConstraintLayout.

Can we use relative layout inside constraint layout?

It's not the right way. ConstraintLayout came to prevent the usage of nested layouts. Remove the relative layout and put a view on top(zindex) of your clickable zone.


1 Answers

i had the same issue and i find this solution: you should add this attribute to your recyclerview and it makes your recyclerview wrap_content in the constraint_layout:

app:layout_constraintHeight_default="wrap" 

let me know if this solution fixed your problem.

EDIT : recycler's height should be 0dp.

EDIT 2 : in the newer versions of support library, use this code:

android:layout_height="wrap_content" app:layout_constrainedHeight="true" 
like image 182
Reza.Abedini Avatar answered Oct 17 '22 23:10

Reza.Abedini