19

如何使 android EditText 的高度小于默认值?

如果我改变高度,我看不到我的文字,但底部有多余的空白。

4

5 回答 5

31

EditText 有一个默认的填充集。

尝试这个,

<EditText 
    android:text="Any Text" 
    android:layout_width="fill_parent" 
    android:layout_height="16dp" 
    android:padding="2dp"
    android:background="#FFF"
    android:textSize="10dp"
/>
于 2009-09-02T13:38:28.633 回答
11

利用

android:textAppearance="?android:attr/textAppearanceSmallInverse"

如需进一步参考,请参阅:http: //developer.android.com/guide/topics/ui/themes.html

于 2011-09-06T07:12:57.663 回答
7

我对那里的任何答案都不满意,尽管当它们结合起来时,它们大多包含正确解决方案的所有成分。但是,让我们首先确定问题所在。问题就像 bhatt4982 所​​说的填充,他已经提供了一个解决方案。将填充设置为您想要的任何内容。如果您还想要较小的字体,请执行 learn_andrd 建议或类似的操作

style="@android:style/TextAppearance.Small.Inverse"

现在,EditText 元素的宽度是正确的,并且字体大小与常规 TextView 的字体大小相匹配。然而,颜色是相反的,因为浅灰色在白色背景上看起来不太好。这将我们带到了最后一个问题,即背景。您需要设置不同的背景,因为默认的 EditText 背景具有最小高度。该高度是元素当前高度的高度。AFAIK Android 不支持缩小背景图像。您应该为 EditText 定义自己的背景 Drawable,它允许高度小于默认允许的高度。否则,无论您尝试为高度、填充或边缘设置什么,它都不会产生任何影响。

PS 你可能想知道为什么他们让你很难创建更小的 EditViews……也许这与这样一个事实有关,即使是这样,用你的手指移动光标到EditText 元素中的特定位置(比如在不删除所有内容的情况下修复错字)元素。如果您将文本变得更小,这将变得不可能。因此,您可能应该重新考虑它,您试图实现的目标,真正值得追求的东西,除非您只是试图减少填充。

于 2011-10-25T09:04:51.490 回答
4

是否可以明确设置高度?

如果是,请使用类似的东西

<EditText
    android:id="@+id/smallEditText"
    android:layout_width="wrap_content"
    android:layout_height="10dip"/>

android:textSize您可以通过在 XML 中使用来减小字体大小。您还可以使控件可滚动。

编辑:刚刚看到您的屏幕截图,您放置 EditText 的布局是什么?它可能正在为您的控件设置非显式布局规则。

于 2009-09-01T09:30:39.703 回答
0

更改 XML 编辑文本这两个属性

 android:layout_height="15dp"
 android:textSize="12sp"
于 2015-05-31T11:54:03.873 回答