ImageButton设置图片大小

5
假设您的布局中有几个按钮。项目即将完成,有许多动态内容(编程设置图像、监听器、状态可绘制等等)。

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

当我看到这些按钮使用背景来存储图像时,我的问题出现了,因此,无论我将它们变得更大,内部的图像也会相应增大。

我的问题是,我是否必须要创建一个位于其上面的布局,将监听器分配给这个新的更大布局,然后保持按钮作为图像,还是有更简单的方法?

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

谢谢

3个回答

1

没事了,我找到答案了,我会把答案放在这里,以防其他人遇到同样的问题。

在我们的情况下,我们负担不起编辑图片的费用,所以我将按钮节点更改为ImageButton。现在,我们使用src而不是background,在ImageButton被放大时,添加一个简单的内部填充,使图像保持原始大小,即使按钮本身实际上更大,因此更容易点击。

顺便说一句,如果您以前的背景具有alpha,则现在可能需要执行以下操作:

android:background="@null"

1
在您的XML布局中使用以下内容。
android:background="@null"

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

0

编辑所有按钮并将layout_marginpadding设置为所需的空间。

例如:

<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" />

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接