在具有相同宽度和高度比的不同屏幕尺寸上调整ImageView / ImageButton的大小

时间:2013-05-29 07:12:06

标签: android android-layout android-imageview

我有Linearlayout包含4个ImageView / ImageButtons。所有图像都具有相同的宽度和高度。我希望此布局始终适合父级的宽度,所有图像都以相同的宽高比(宽度和高度)缩放:

enter image description here

我试过了:

<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轴上拉伸:

enter image description here

我不想在代码中输入这样的UI内容,我希望你能帮我找到用XML做的方法!

编辑:

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

enter image description here

正如您所看到的那样,对我想要的东西不是一个好的解决方案。

4 个答案:

答案 0 :(得分:0)

你可以使用

android:scaleType="fitXY" 

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

这可能是正常的,因为你的linearlayout的方向是“水平的”。

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

答案 3 :(得分:0)

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