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>
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.
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.
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"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With