2015-06-03 2 views
4

Некоторые виды не обертывают его содержимое при использовании внутри CardView в Android L. При тестировании того же кода на более ранних версиях Android все работает отлично. Вот мой макет:Виды не обертывания содержимого внутри Вид карты

<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> 

Проблема заключается в том, что TextView "wrap_content" по высоте не работает. Это визуализация предварительного просмотра из Android Studio:

Android Studio Preview

Это тот же макет работает на Samsung Galaxy S5 с Android L:

Samsung Galaxy S5 with Android L

Если я пытаюсь установить фиксированную высоту как для TextView (соответственно 25dp и 18dp) родительский LinearLayout не переносит контент таким же образом, как TextView.

[Фиксированная высота TextView] [3]

я что-то не хватает? Не знаю, что не так, потому что это происходит только в Android L.

EDIT: Я все еще ищу решение этой проблемы.

+0

У меня недостаточно репутации, чтобы опубликовать 3 ссылки, так что вот адрес последнего - [Исправлена ​​высота для TextView] (http://imgur.com/2lMeWak) – Birk

+1

Вы нашли решение? У меня такая же проблема. – Apsaliya

ответ

0

Попробуйте удалить андроид: layout_toEndOf = "@ + id/logo" из LinearLayout, поскольку он позиционирует начальный край этого вида до конца логотипа ImageView.

+0

Ничего не изменилось, «wrap_content» по-прежнему не работает. – Birk

1

Выполнение разметки текста до wrap_content вместо match_parent может работать. Также вы можете удалить «+» с @+id/logo в атрибутах toEndOf и toRightOf.

+1

Уже пробовал, что без успеха. Атрибут width работает отлично, но высота не учитывает «wrap_content». И спасибо за подсказку на значке «+». – Birk

+0

Можете ли вы рассказать мне номер версии L, установленный на вашем S5, это 20 или 21 или 22? а также какую версию библиотеки поддержки вы используете? (Я предполагаю api 20, так как вы упомянули Android L) – prats110892

+0

Я использую версию поддержки 22.1.0, CompileSdkVersion 22, buildToolsVersion 22.0.1 и targetSdkVersion 22. Версия S5 для Android 5,0. – Birk

Смежные вопросы