I'm facing an issue with an xml layout.
This is the full xml
:
<FrameLayout
android:id="@+id/root"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="match_parent">
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:adjustViewBounds="true"
tools:src="@drawable/segment_cultura"/>
<LinearLayout
android:id="@+id/message_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="@color/black_divider"
android:padding="4dp">
<TextView
android:id="@+id/message"
style="@style/TextAppearance.AppCompat.Caption"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:ellipsize="end"
android:maxLines="2"
android:textColor="@color/white_secondary_text"
/>
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="end"
android:src="@drawable/ic_message"/>
</LinearLayout>
<ImageView
android:id="@+id/cancel"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="top|end"
android:layout_margin="4dp"
android:src="@drawable/ic_close"/>
</FrameLayout>
The goal: Use this as an item in a fixed height horizontal RecyclerView
, using ONLY the image
to determine the size of the item. Other views, such message_container
or cancel
will need to adapt to this size.
The problem: message_container
needs to fill the width of the item, but it shouldn't modify the item width when there is a long text in message
. It should go to the 2nd line and then get ellipsized. What happens instead is message
never goes to the second line and makes the parents (message_container
and root
) enlarge to fit its text.
I'm looking for a solution that only involves xml
, if I can't find it a custom view
is preferred to some logic in the adapter
.
Thank you for your time.