创建小的绝对大小视图

时间:2013-11-12 12:40:08

标签: android layout view

我正在开发一款适用于单一尺寸屏幕的应用程序,并且设计非常复杂,因此我可以使用绝对尺寸来处理所有内容。

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

  • 90x70px EditTextEditText即使我使用了较小的文字大小,文字也不能很好地居中...我该如何居中?
  • 200x80px SpinnerSpinner右边有足够的空间。我该如何使用它?
  • 50x50px CheckBoxCheckBox我们只看到一个角而不是整个框...为什么?

4 个答案:

答案 0 :(得分:0)

  

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

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

  • EditText的背景设置为null,您将理解这完全归功于9补丁背景的填充。之后转到Android Asset Studio并创建较小的背景,或者您也可以在xml drawable中执行此操作,请检查此link。要使文字居中,请android:gravity="center"上使用EditText

  • 如上所述,相同的9个补丁背景问题,旋转器的bacground图像是这样做的,在添加某些填充后将其内容放在箭头的左边。尝试将背景设置为自定义少填充9补丁。

  • 同样的问题,只需为CheckBox制作较小的drawable。请参阅此link

答案 1 :(得分:0)

你尝试过使用填充吗?我使用负值将控件移出屏幕。填充可能同样如此?祝你好运伴侣

答案 2 :(得分: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;
    }

答案 3 :(得分:0)

  • Android不支持这些小视图,因为它使用了它 内在值作为默认值。我也建议你做一些 更大的意见。对用户来说也会更好。
  • 当你设计一些视图时,用户视角是非常重要的因素。您应始终在用户的脑海中设计用户界面。

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

  • 要将文本居中,请使用android:gravity到EditText中的center
  • 使用较小的drawables 作为复选框和微调器。
  • 您还可以在可绘制文件夹中以XML格式制作自定义形状,并将其用作视图的背景。同时将填充1或负数设置为最佳结果。