所以想象一下你的布局上有几个按钮。该项目即将完成,并且有很多动态的东西(以编程方式设置图像,监听器,声明的绘图等等。)
现在,你被告知按钮有点难以点击所以你的第一个想法(至少是我的)是“好的,我只是让边界框更大”。要做到这一点,我只需要给那些按钮增加更多的宽度和高度,这样它们就更容易点击。
当我看到那些按钮使用背景来存储图像时,我的问题出现了,因此,每当我将它们变大时,内部的图像就会变大。
我的问题是,我不得不在它上面创建一个布局,将侦听器分配给这个新的更大的布局,然后将按钮保留为图像,还是有更简单的方法?
/¯¯¯¯¯¯¯¯¯¯¯¯\ <- outter layout
/¯¯¯¯¯¯¯¯\ | /¯¯¯¯¯¯¯¯\ |
| | | | | |
| BUTTON | ---> | | BUTTON | |
| | | | | |
\________/ | \________/ |
\____________/
由于
答案 0 :(得分:1)
没关系,找到答案,我会把它放在这里以防其他人遇到这个问题。
在我们的例子中,我们无法编辑图像,我所做的是将Button节点更改为ImageButton。现在,我们使用src而不是使用背景,一旦放大了ImageButton,就会添加一个简单的内部填充,这样即使按钮本身实际上更大,也更容易点击,图像仍保持原始大小。
另一方面,如果你以前的背景有alpha,你现在可能想要这样做:
android:background="@null"
答案 1 :(得分:1)
在xml布局中使用它
android:background="@null"
这将帮助您将按钮显示为仅图像
答案 2 :(得分:0)
修改所有按钮并将layout_margin
或padding
设置为您需要的空间。
示例:
<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" />