0

我有由 4 个 ImageView/ImageButtons 组成的 Linearlayout。所有图像具有相同的宽度和高度。我希望此布局始终适合父母的宽度,并且所有图像都以相同的纵横比(宽度和高度)缩放:

在此处输入图像描述

我试过这个:

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

    <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/item_background"
            android:layout_weight="1"
            android:adjustViewBounds="true"/>
    // All 4 images are the same 
</LinearLayout>

问题是陆地/肖像的宽度和高度之间的比率不一样。例如在横向模式下,图像仅在 x 轴上拉伸,而不在 y 轴上拉伸:

在此处输入图像描述

我不想为这些只有 UI 的东西编写代码,我希望你能帮助我找到一种在 XML 中执行此操作的方法!

编辑:

将 android:scaleType="fitXY" 添加到图像后,我得到了这个:

在此处输入图像描述

正如你所看到的,这不是我想要的一个好的解决方案。

4

4 回答 4

0

使用android:layout_width="match_parent"android:scaleType="FIT_CENTER"

于 2013-05-29T07:17:49.670 回答
0

您可以使用

android:scaleType="fitXY" 

它将适合您的 ImageView 中的资源。

于 2013-05-29T07:13:24.550 回答
0

这可能是正常的,因为您的线性布局的方向是“水平的”。

要解决您的问题,您可以使用上面回答的代码。

于 2013-05-29T07:22:19.803 回答
0

有一个为 android 开发的 .9.png 图像格式,它可以帮助你解决这个问题,这里是来自 android 开发者网站的Draw9patch链接。

于 2013-09-19T12:03:53.660 回答