如何使按钮中的图像和文本靠得更近?

How to make image and text closer together in a button?

在我的项目中,我有一个 3x3 TableLayout 由九个不同的 Buttons。每个 Button 上面都有一个可绘制的图像,下面有一小段文本。要清楚,可绘制对象和文本是 Buttons 使用“drawableTop ”和“android:text”变量定义在XML.

我想知道是否可以将可绘制对象和文本移动得更近一些,因为 UI 在大屏幕 phone 上看起来有点不对劲。

App on Nexus 4

App on Nexus 6

我意识到我必须为小型 phone、phone、小型平板电脑和大型平板电脑制作不同的 XML 布局文件。但是 Nexus 6 是,正如我对它的分类,phone 所以我可能不会为它制作一个单独的布局文件。

任何反馈都有帮助,除非你告诉我我需要使用 LinearLayoutImageButtonTextView 因为我已经试过了,结果没有那好。

说到这个,我通常使用两个视图,一个用于文本,一个用于图像,然后将它们放入一个 ViewGroup 中,然后将其分配给 onClickListener。这给了我更多的自由和定制,但缺点是会稍微降低性能。

但是为了回答你的问题,你可以使用android:drawablePadding结合android:paddingTop来控制图像和文本之间的space。

好吧,简单的答案可能是乱七八糟值得文本视图的顶部填充。如果这对您不起作用,另一种解决方案是使用适用于此类情况的相对布局。这样您就可以在保持布局结构平坦的同时保持您正在寻找的视觉效果,这有利于性能。