某些视图在Android L中的CardView中使用时未包含其内容。在早期版本的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&#34; wrap_content&#34;因高度不起作用。这是Android Studio的预览可视化:
这与使用Android L的三星Galaxy S5上运行的布局相同:
Samsung Galaxy S5 with Android L
如果我尝试为TextView(分别为25dp和18dp)设置固定高度,则父LinearLayout不会以与TextView相同的方式包装它的内容。
[TextView的固定高度] [3]
我错过了什么?不知道出了什么问题,因为这只发生在Android L中。
编辑:我仍然在寻找解决此问题的方案。
答案 0 :(得分:1)
将文字视图宽度设为wrap_content
而不是match_parent
可能有效。您也可以从@+id/logo
和toEndOf
属性中移除toRightOf
中的“+”。
答案 1 :(得分:0)
尝试从LinearLayout中删除android:layout_toEndOf =“@ + id / logo”,因为它将此视图的起始边缘定位到徽标ImageView的末尾。
答案 2 :(得分:0)
有时背景/ src图像是此问题的原因,请尝试使用较小的图像并将其转换为9P图像。