android - Why even using requestLayout() after expanding view the textViews overlap each other in ConstrainLayout? -
the bottom part invisible when user clicks on item bottom part become visible , description line(3_rd line) when view isn't expanded shows 1 line, becomes expanded should show as should 3-4 lines, when description occupies 3-4 lines, text if bottom part overlaps , call requestlayout nothing change
if (holder.binding instanceof storeofferitembinding) { final boolean isexpanded = position == expandedposition; ((itembinding) (holder.binding)).offerdetail.setvisibility(isexpanded ? view.visible : view.gone); if (isexpanded) { holder.itemview.requestlayout(); } ((itembinding) (holder.binding)).offerdescription.setmaxlines(isexpanded ? 4 : 1); holder.itemview.setactivated(isexpanded); holder.itemview.setonclicklistener(view -> { expandedposition = isexpanded ? -1 : holder.getadapterposition(); notifyitemchanged(holder.getadapterposition()); }); if(isexpanded) { holder.itemview.requestlayout(); } } <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.constraintlayout android:layout_width="match_parent" android:layout_height="wrap_content" android:animatelayoutchanges="true" android:background="?attr/selectableitembackground"> <textview android:id="@+id/offer_title" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginend="8dp" android:layout_marginstart="8dp" android:layout_margintop="8dp" android:text="@{offer.productname()}" app:layout_constraintend_tostartof="@+id/offer_add_to_user" app:layout_constrainthorizontal_bias="0.5" app:layout_constraintleft_torightof="@+id/offer_image" app:layout_constraintright_toleftof="@+id/offer_add_to_user" app:layout_constraintstart_toendof="@+id/offer_image" app:layout_constrainttop_totopof="parent" tools:text="juice valfria" /> <textview android:id="@+id/offer_price" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginright="8dp" android:layout_marginstart="8dp" android:layout_margintop="8dp" android:text="@{offer.offercondition()}" app:layout_constraintend_tostartof="@+id/offer_add_to_user" app:layout_constrainthorizontal_bias="1.0" app:layout_constraintright_toleftof="@+id/offer_add_to_user" app:layout_constraintstart_toendof="@+id/offer_image" app:layout_constrainttop_tobottomof="@+id/offer_title" tools:text="34,50 kr/kg" /> <textview android:id="@+id/offer_description" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginend="8dp" android:layout_marginleft="8dp" android:layout_marginright="8dp" android:layout_margintop="8dp" android:ellipsize="end" android:lines="1" android:text="@{offer.sizeorquantity()}" app:layout_constraintend_tostartof="@+id/offer_add_to_user" app:layout_constrainthorizontal_bias="0.5" app:layout_constraintleft_torightof="@+id/offer_image" app:layout_constraintright_toleftof="@+id/offer_add_to_user" app:layout_constrainttop_tobottomof="@+id/offer_price" tools:text="description" /> <imageview android:id="@+id/offer_image" android:layout_width="48dp" android:layout_height="48dp" android:layout_marginbottom="8dp" android:layout_marginstart="16dp" android:layout_margintop="24dp" app:imageuri="@{offer.imageurl()}" app:layout_constraintbottom_totopof="@+id/offer_detail" app:layout_constraintleft_toleftof="parent" app:layout_constraintstart_tostartof="parent" app:layout_constrainttop_totopof="parent" /> <checkbox android:id="@+id/offer_add_to_user" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginbottom="8dp" android:layout_marginright="16dp" android:layout_margintop="8dp" android:button="@drawable/checkbox_background" app:layout_constraintbottom_totopof="@+id/offer_detail" app:layout_constraintright_torightof="parent" app:layout_constrainttop_totopof="parent" /> <android.support.constraint.constraintlayout android:id="@+id/offer_detail" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginend="16dp" android:layout_marginstart="16dp" android:layout_margintop="8dp" app:layout_constraintbottom_tobottomof="parent" app:layout_constraintend_toendof="parent" app:layout_constrainthorizontal_bias="0.0" app:layout_constraintstart_tostartof="parent" app:layout_constrainttop_tobottomof="@+id/offer_description"> <textview android:id="@+id/price_comparison" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginstart="8dp" android:text="@{offer.pricecomparison()}" app:layout_constraintbottom_totopof="@+id/disclaimer" app:layout_constraintstart_tostartof="parent" app:layout_constrainttop_totopof="parent" tools:text="price comparison" /> <textview android:id="@+id/disclaimer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginstart="8dp" android:text="@{offer.disclaimer()}" app:layout_constraintbottom_tobottomof="parent" app:layout_constraintstart_tostartof="parent" app:layout_constrainttop_tobottomof="@+id/price_comparison" tools:text="disclaimer" /> </android.support.constraint.constraintlayout> </android.support.constraint.constraintlayout>
<android.support.constraint.constraintlayout android:id="@+id/root_layout" android:layout_width="match_parent" android:layout_height="wrap_content" android:animatelayoutchanges="true" android:background="?attr/selectableitembackground"> <textview android:id="@+id/offer_title" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginend="8dp" android:layout_marginstart="8dp" android:layout_margintop="8dp" app:layout_constraintbottom_totopof="@+id/offer_price" app:layout_constraintend_tostartof="@+id/offer_add_to_user" app:layout_constraintstart_toendof="@+id/offer_image" app:layout_constrainttop_totopof="parent" /> <textview android:id="@+id/offer_price" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginend="8dp" android:layout_marginstart="8dp" android:textcolor="@color/ica_red" app:layout_constraintbottom_totopof="@+id/price_comparison" app:layout_constraintend_tostartof="@+id/offer_add_to_user" app:layout_constraintstart_toendof="@+id/offer_image" app:layout_constrainttop_tobottomof="@+id/offer_title" tools:text="34,50 kr/kg" /> <textview android:id="@+id/price_comparison" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginbottom="8dp" android:layout_marginend="8dp" android:layout_marginstart="8dp" app:layout_constraintbottom_totopof="@+id/offer_detail" app:layout_constraintend_tostartof="@+id/offer_add_to_user" app:layout_constraintstart_toendof="@+id/offer_image" app:layout_constrainttop_tobottomof="@+id/offer_price" tools:text="price comparison" /> <imageview android:id="@+id/offer_image" android:layout_width="48dp" android:layout_height="48dp" android:layout_marginstart="16dp" android:layout_margintop="16dp" app:layout_constraintleft_toleftof="parent" app:layout_constraintstart_tostartof="parent" app:layout_constrainttop_totopof="parent" tools:ignore="contentdescription" /> <checkbox android:id="@+id/offer_add_to_user" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginbottom="8dp" android:layout_marginend="16dp" android:layout_margintop="8dp" android:button="@drawable/checkbox_background" app:layout_constraintbottom_totopof="@+id/offer_detail" app:layout_constraintright_torightof="parent" app:layout_constrainttop_totopof="parent" /> <android.support.constraint.constraintlayout android:id="@+id/offer_detail" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginend="16dp" android:layout_marginstart="16dp" app:layout_constraintbottom_tobottomof="parent" app:layout_constraintend_toendof="parent" app:layout_constrainthorizontal_bias="0.5" app:layout_constraintstart_tostartof="parent" app:layout_constrainttop_tobottomof="@+id/price_comparison"> <textview android:id="@+id/offer_description" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginstart="8dp" android:layout_margintop="0dp" android:text="@{offer.sizeorquantity()}" app:layout_constraintstart_tostartof="parent" app:layout_constrainttop_totopof="parent" tools:text="200g, ica eko" /> <textview android:id="@+id/disclaimer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginbottom="8dp" android:layout_marginstart="8dp" app:layout_constraintbottom_tobottomof="parent" app:layout_constraintstart_tostartof="parent" app:layout_constrainttop_tobottomof="@+id/offer_description" tools:text="disclaimer" /> </android.support.constraint.constraintlayout> </android.support.constraint.constraintlayout>
wiki
Comments
Post a Comment