android ImageButton不拉伸图像

时间:2013-11-19 15:20:28

标签: android imagebutton image-resizing

如何阻止ImageButton拉伸图像?

使用此代码段:

 <ImageButton
                android:src="@drawable/prediction"
                android:background="?android:attr/selectableItemBackground"
                android:gravity="center_horizontal"
                android:scaleType="centerInside"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:contentDescription="some description"
                android:text="@string/predict"
                local:MvxBind="Click ExecuteQueryCmd" />

我得到以下效果:

enter image description here

图片为64x64 png。

我想要的只是让ImageButton尊重它所分配的图像的原始宽度和长度,从而分辨率。基于similar post的建议是使用Button,将其背景设置为图像,然后使用自定义选择器,但这听起来像是黑客。或者这是正确的方法吗?

3 个答案:

答案 0 :(得分:5)

它适用于我

  <ImageButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:adjustViewBounds="true"
    android:background="@android:color/transparent"
    android:contentDescription="some description"
    android:scaleType="centerInside"
    android:src="@drawable/ci_icon"
    android:text="@string/predict"
    local:MvxBind="Click ExecuteQueryCmd" />

将图片放入 android:src 属性

答案 1 :(得分:0)

将ImageButtons的宽度设置为fill_parent,并将scaletype fitStart用于拥抱左边距的图像,将fitEnd用于右边的图像。应该这样做,至少就你的示例图像而言。如果图像的比例宽度超出屏幕宽度,则可能会出现间距问题,但它应该适合您。

答案 2 :(得分:0)

这样做:

<ImageButton
                android:src="@drawable/prediction"
                android:background="?android:attr/selectableItemBackground"
                android:scaleType="fitXY"
                android:adjustViewBounds="true"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:contentDescription="some description"
                android:text="@string/predict"
                local:MvxBind="Click ExecuteQueryCmd" />