【问题标题】:Android GridLayout - How to increase the spacing between columns or rows?Android GridLayout - 如何增加列或行之间的间距?
【发布时间】:2016-09-10 04:27:35
【问题描述】:

这只是背景图像的一部分。我有一个 4 行 3 列的网格布局。布局中的这些按钮(目前仅包括 3 个)需要叠加一个具有数字键盘的背景图像。我需要准确地放置按钮以适合图像的这些具有数字的部分,然后使其透明,因此单击数字对应于单击实际按钮。尝试了几种方法,但无济于事。我无法完全适合它们。增加之间的间距可能会有所帮助,但只是无法做到。有人可以帮忙吗?谢谢!

【问题讨论】:

  • 我认为您的描述不足以让我们帮助您解决问题。你有可以加入的插图吗?
  • @BartekLipinski 刚刚修改了我的问题并附上了截图。

标签: android android-layout user-interface android-studio android-gridlayout


【解决方案1】:

在具有不同屏幕尺寸和不同像素密度的设备上,要确保按钮与叠加图像完全吻合非常困难。让用户点击按钮本身会更好。使用白色作为文本颜色,并制作一个圆角矩形作为每个按钮的背景。

src/main/res/drawable/orange_round_rect.xml:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="4dp" />
    <solid android:color="@color/orange_button" />
</shape>

任何不是按钮的东西都可以添加到其他地方,例如作为 GridLayout 的背景。

【讨论】:

  • 感谢这个想法。不幸的是,我只得到了整个屏幕背景的图像,无法对其进行太多修改。但我会发现是否可以在没有这些数字的情况下获得 bg 图像,而不是让单个按钮图像直接放在按钮上。一般来说,我想知道,是否有任何好的资源可以学习如何将直接图像用于背景屏幕,并将部分图像用作 UI 组件,谢谢!
  • @Ganga 我个人还没有这样做过,而且我认为这可能是一款非常罕见的沉浸式游戏之外的游戏,它需要所有 UI 的特定氛围。如果您不构建它,我建议您与您的设计师讨论 Google 的设计指南,以便您的应用程序的行为方式与用户从他们使用的所有其他应用程序中学到的期望一样。此外,有时平台并没有简单的方法来做事;这是其中之一,要求替代方案是完全合理的,这样您就可以将更多时间花在重要的功能上。