在屏幕截图下方,我使用ImageView
将图片插入CardView
。
我试过了a solution that works,但它要求我明确指定图像高度,我尽量不要这样做,因为源可以是各种各样的,我需要图像灵活地放大/缩小(使用相同的图像)宽高比)取决于卡片宽度。
这是截图:
这是代码片段:
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
card_view:cardCornerRadius="2dp"
card_view:cardElevation="2dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="7dp">
<TextView
android:id="@+id/caption_text"
android:text="Hello World!"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:scaleType="fitStart"
android:layout_below="@id/caption_text"
android:src="@drawable/food"/>
</RelativeLayout>
</android.support.v7.widget.CardView>
那么,有没有办法让CardView
自动环绕图像,(不留任何空白空间)并且没有明确指定图像高度?
答案 0 :(得分:2)
将<RelativeLayout>
身高更改为wrap_content
。目前,它在高度上具有循环依赖性。
<强> [编辑] 强>
我们需要为图像设置属性android:adjustViewBounds="true"
以便与源一起缩放。默认为false
!
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
card_view:cardCornerRadius="2dp"
card_view:cardElevation="2dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="7dp">
<TextView
android:id="@+id/caption_text"
android:text="Hello World!"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:adjustViewBounds="true"
android:layout_below="@id/caption_text"
android:src="@drawable/food"/>
</RelativeLayout>
</android.support.v7.widget.CardView>
答案 1 :(得分:1)
尝试将scaleType更改为android:scaleType="centerCrop"
或其他某种scaleType
见这里:
https://developer.android.com/reference/android/widget/ImageView.ScaleType.html