假设您的布局上有多个按钮。该项目即将完成,并且有很多动态内容(以编程方式设置图像、监听器、statedrawables 等)。
现在,您被告知点击这些按钮有点棘手,所以您的第一个想法(至少我是这样)是“好吧,我只是让边界框更大”。为此,我只需要为这些按钮提供更大的宽度和高度,以便它们更容易点击。
当我看到那些按钮使用背景来存储图像时,我的问题就来了,因此,每当我把它们变大时,里面的图像也会变大。
我的问题是,我是否必须在其上创建一个布局,将监听器分配给这个更大的新布局,然后将按钮保留为图像,还是有更简单的方法?
/¯¯¯¯¯¯¯¯¯¯¯¯\ <- outter layout
/¯¯¯¯¯¯¯¯\ | /¯¯¯¯¯¯¯¯\ |
| | | | | |
| BUTTON | ---> | | BUTTON | |
| | | | | |
\________/ | \________/ |
\____________/
谢谢
最佳答案
没关系,找到答案了,我就把它留在这里,以防其他人遇到这个问题。
在我们的例子中,我们无力编辑图像,我所做的是将 Button 节点更改为 ImageButton。现在,我们不使用背景,而是使用 src,一旦 ImageButton 被放大,就会添加一个简单的内部填充,这样即使按钮本身实际上更大,图像也能保持原始大小,因此更容易点击。
附带说明一下,如果您以前的背景有 alpha,您现在可能想这样做:
android:background="@null"
关于java - imagebutton 设置图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14520352/