Reputation: 126
Some Views are not wrapping it's content when used inside a CardView in Android L. When testing the same code on earlier versions of Android everything works fine. Here is my layout:
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="@dimen/stock_row_height"
card_view:cardCornerRadius="@dimen/default_elevation"
card_view:cardElevation="@dimen/default_elevation"
card_view:cardUseCompatPadding="true">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/logo"
android:layout_width="@dimen/portals_logo_width"
android:layout_height="match_parent"
android:layout_centerVertical="true"
android:layout_margin="@dimen/portals_logo_margin"
android:adjustViewBounds="true"
android:src="@drawable/image_placeholder" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toEndOf="@+id/logo"
android:layout_toRightOf="@+id/logo"
android:background="@android:color/black"
android:orientation="vertical">
<TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_green_light"
android:text="portalAddress.com"
android:textColor="@android:color/black"
android:textSize="@dimen/portals_title_text_size" />
<TextView
android:id="@+id/description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/holo_blue_light"
android:text="Sincronizado 04/12/14 às 14:25"
android:textColor="@color/medium_gray"
android:textSize="@dimen/portals_description_text_size" />
</LinearLayout>
</RelativeLayout>
The problem is that the TextView "wrap_content" for height is not working. This is the preview visualisation from Android Studio:
This is the same layout running on a Samsung Galaxy S5 with Android L:
Samsung Galaxy S5 with Android L
If I try to set a fixed height for both TextView (25dp and 18dp respectively) the parent LinearLayout does not wrap it's content the same way as the TextView.
[Fixed height for TextView][3]
I'm missing something? Don't know what is wrong, because this only happens in Android L.
EDIT: I'm still looking for solutions for this problem.
Upvotes: 10
Views: 5109
Reputation: 1
if you have TextView
inside try to make
android:layout_width="match_parent"
that's work for me.
Upvotes: 0
Reputation: 1
Sometimes the background/src images are the cause of this problem, try using smaller images and convert them to 9P ones.
Upvotes: 0
Reputation: 6749
Making the text views widths to wrap_content
instead of match_parent
might work. Also you can remove the "+" from @+id/logo
in the toEndOf
and toRightOf
attribute.
Upvotes: 3
Reputation: 1560
Try removing android:layout_toEndOf="@+id/logo" from LinearLayout as it positions the start edge of this view to the end of the logo ImageView.
Upvotes: 0