2013-02-28 104 views
3

我试图采用无边框创建的ImageButton,但我遇到的问题与图像按钮的大小。的ImageButton拉伸背景图像

使用Eclipse ADT我拖动的ImageButton布局,并选择我的背景图像。出现图像按钮如下:

initial image button

正如你可以看到有背景图像和图像按钮周围,我想摆脱之间的边界。为此,我将填充属性设置为0dp。图像按钮现在看起来是这样的:

image button after setting padding to 0dp

最后,我设置了规模型向fitXY:

image button after setting scale type

注意,图像是拉伸,不再大小的原始图像。 (我想ImageButton的尺寸是完全相同的大小作为背景图像相同。)

这里是所有3个图像的快照彼此相邻,以赚取差价更加清晰:

all image buttons

我尝试重新调整图像大小,设置最大尺寸属性等,但似乎没有任何东西阻止图像按钮拉伸背景图像。

如何防止拉伸喜欢它的形象呢?

UPDATE

我也试着设置规模型到矩阵,但这里是发生了什么事:

image button with scale type matrix

回答

1

只需设置你的形象android:background的按钮,并设置layout_heightlayout_width的按钮wrap_content

+0

它已被设置为WRAP_CONTENT。我想这是使用Eclipse ADT拖动图像按钮时的默认值。 – 2013-02-28 15:53:06

+0

如果图像设置为背景,请检入xml代码。 – 2013-02-28 15:54:00

+0

另外,在你的情况下,你不需要ImageButton。你可以使用简单的按钮,不带文字 – 2013-02-28 15:54:56

0

使用一个ImageView来代替,而将其设置为clickable。设置scaleTypematrix(这将导致的ImageView是一样大,它里面的图片)。

ImageButton的问题是,它增加了一个背景,导致填充等

+0

我现在就试试,谢谢!这通常是人们在尝试制作自定义按钮时做的事情吗? – 2013-02-28 15:54:02

+0

是的。您也可以自己重写ImageButton的背景。例如,使它成为透明的颜色。 – 2013-02-28 15:54:57

+0

我只是尝试使用ImageView,但现在我遇到的问题是,当我点击它时,我没有那么好*点击*(闪烁)效果。我喜欢点击效果,因为它可以让用户反馈他们已按下按钮。 – 2013-02-28 15:57:45

0

您可以设置 的android:背景=“@空”