1

我正在开发一个旨在在单一尺寸屏幕上运行的应用程序,并且设计非常复杂,因此为了让事情变得更容易,我正在使用绝对尺寸来处理所有内容。

当我为视图指定一个非常小的尺寸时,问题就开始了,Android 似乎没有使内容适应这些小尺寸。我这里有 3 个例子:

  • 90x70px EditText编辑文本即使我使用了小文本大小,文本也不能很好地居中...如何居中?
  • 200x80px Spinner微调器右侧有足够的可用空间。我该如何使用它?
  • 50x50px CheckBox复选框我们只看到 1 个角而不是整个框...为什么?
4

4 回答 4

0

Android 似乎没有使内容适应这些小尺寸

在达到特定的最小尺寸后,Android 不会采用,我强烈建议您考虑使用ScrollView并更改布局,但如果您仍然坚持,请尝试以下操作:

  • 将 background of 设置EditText为 null ,你会明白这都是由于 9 补丁背景的填充。之后转到Android Asset Studio并创建更小的背景,或者您也可以在 xml drawable 中进行操作,请查看此链接。要使文本居中,请android:gravity="center"使用EditText.

  • 与上述相同的 9 补丁背景问题,以这种方式制作微调器的免费图像以在添加某些填充后将其内容放在箭头的左侧。尝试将背景设置为您的自定义较少填充的 9 补丁。

  • 同样的问题,只需为您的CheckBox. 请参阅此链接

于 2013-11-16T04:09:42.183 回答
0

尝试在 TextView 派生类中使用以下覆盖...对我有用:

    @Override
    public int getCompoundPaddingTop() {
        return 1;
    }

    @Override
    public int getCompoundPaddingBottom() {
        return 1;
    }

    @Override
    public int getCompoundPaddingLeft() {
        return 1;
    }

    @Override
    public int getCompoundPaddingRight() {
        return 1;
    }
于 2013-11-20T05:32:16.417 回答
0
  • Android 不支持这些小视图,因为它默认使用其内在值。我还建议您提出一些更大的观点。对用户来说也会更好。
  • 当你设计一些视图时,用户视角是非常重要的因素。您应该始终在考虑用户的情况下设计 UI。

除此之外,如果您仍想使用这些东西,请遵循以下内容:

  • 在 EditText 中使用android:gravityto居中文本。center
  • 为您的复选框和微调器使用较小的可绘制对象。
  • 您还可以在可绘制文件夹中的 XML 中制作自定义形状,并将其用作视图的背景。还将填充 1 或负值设置为最佳结果。
于 2013-11-21T07:38:03.253 回答
0

您是否尝试过使用填充?我使用负值将控件移出屏幕。填充可能也是如此?祝你好运队友

于 2013-11-19T12:27:40.840 回答