使ImageView(及其src)适合布局宽度并使其高度成比例

时间:2011-08-12 14:05:46

标签: java android layout

你能帮我配置我的布局吗?我没有达到我想要的目的:

我将imageview背景设置为红色以解释我想要的内容:

图像的宽度小于布局宽度。我希望图像按比例增长保持其纵横比直到达到第一张图像的方面(我用photoshop手动修改它)但是当设置width =“fill_parent”时,结果是第二张图像并将宽度和高度都设置为“ fill_parent“结果是第三张图片。

我尝试与ScaleType结合使用

如何实现第一个选项?感谢

enter image description here

2 个答案:

答案 0 :(得分:14)

在xml中使用android:adjustViewBounds=true attr ImageView


这个问题通过扩展ImageView类来解决。

Android ImageView adjusting parent's height and fitting width


我创建了一个样本。这个对我有用。这是xml布局文件。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <ImageView android:src="@drawable/hydrangeas"
        android:layout_height="wrap_content" android:id="@+id/imageView1"
        android:scaleType="centerInside"
        android:adjustViewBounds="true"
        android:background="@android:color/white"
        android:layout_width="wrap_content"/>

</LinearLayout>

它也适用于fitCenter。看看快照 With centerInside and adjustViewBounds="true"

答案 1 :(得分:2)

将fit_center属性用于ImageView标记。

<ImageView ... android:scaleType="fitCenter" .. />