5

所以想象你的布局上有几个按钮。该项目几乎完成了,并且有很多动态的东西(以编程方式设置图像、侦听器、statedrawables 等)。

现在,你被告知点击按钮有点棘手,所以你的第一个想法(至少是我的)是“好的,我会让边界框变大”。要做到这一点,我只需要给这些按钮更多的宽度和高度,这样它们就更容易点击了。

当我看到那些按钮使用背景来存储图像时,我的问题就出现了,所以每当我把它们变大时,里面的图像也会变大。

我的问题是,我是否坚持必须在其之上创建一个布局,将侦听器分配给这个新的、更大的布局,然后将按钮保留为图像,还是有更简单的方法?

                                             /¯¯¯¯¯¯¯¯¯¯¯¯\ <- outter layout
                   /¯¯¯¯¯¯¯¯\                | /¯¯¯¯¯¯¯¯\ |
                   |        |                | |        | |
                   | BUTTON |      --->      | | BUTTON | |
                   |        |                | |        | |
                   \________/                | \________/ |
                                             \____________/

谢谢

4

3 回答 3

1

在您的 xml 布局中使用它

android:background="@null"

这将帮助您仅将按钮显示为图像

于 2013-01-25T11:44:50.000 回答
1

没关系,找到答案了,我就把它留在这里,以防其他人遇到这个问题。

在我们的例子中,我们无法编辑图像,我所做的就是将 Button 节点更改为 ImageButton。现在,我们不使用背景,而是使用 src,一旦 ImageButton 被放大,就会添加一个简单的内部填充,这样即使按钮本身实际上更大,图像也会保持原始大小,因此更容易点击。

附带说明一下,如果你以前的背景有 alpha,你现在可能想要这样做:

android:background="@null"
于 2013-01-25T11:28:52.450 回答
0

Edit all your buttons and set the layout_margin or the padding to the space you need.

Example:

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="20dp"
    android:padding="20dp"
    android:text="Button" />
于 2013-01-25T11:46:08.003 回答