如何使 android EditText 的高度小于默认值?
如果我改变高度,我看不到我的文字,但底部有多余的空白。
EditText 有一个默认的填充集。
尝试这个,
<EditText
android:text="Any Text"
android:layout_width="fill_parent"
android:layout_height="16dp"
android:padding="2dp"
android:background="#FFF"
android:textSize="10dp"
/>
利用
android:textAppearance="?android:attr/textAppearanceSmallInverse"
如需进一步参考,请参阅:http: //developer.android.com/guide/topics/ui/themes.html
我对那里的任何答案都不满意,尽管当它们结合起来时,它们大多包含正确解决方案的所有成分。但是,让我们首先确定问题所在。问题就像 bhatt4982 所说的填充,他已经提供了一个解决方案。将填充设置为您想要的任何内容。如果您还想要较小的字体,请执行 learn_andrd 建议或类似的操作
style="@android:style/TextAppearance.Small.Inverse"
现在,EditText 元素的宽度是正确的,并且字体大小与常规 TextView 的字体大小相匹配。然而,颜色是相反的,因为浅灰色在白色背景上看起来不太好。这将我们带到了最后一个问题,即背景。您需要设置不同的背景,因为默认的 EditText 背景具有最小高度。该高度是元素当前高度的高度。AFAIK Android 不支持缩小背景图像。您应该为 EditText 定义自己的背景 Drawable,它允许高度小于默认允许的高度。否则,无论您尝试为高度、填充或边缘设置什么,它都不会产生任何影响。
PS 你可能想知道为什么他们让你很难创建更小的 EditViews……也许这与这样一个事实有关,即使是这样,用你的手指移动光标到EditText 元素中的特定位置(比如在不删除所有内容的情况下修复错字)元素。如果您将文本变得更小,这将变得不可能。因此,您可能应该重新考虑它,您试图实现的目标,真正值得追求的东西,除非您只是试图减少填充。
是否可以明确设置高度?
如果是,请使用类似的东西
<EditText
android:id="@+id/smallEditText"
android:layout_width="wrap_content"
android:layout_height="10dip"/>
android:textSize
您可以通过在 XML 中使用来减小字体大小。您还可以使控件可滚动。
编辑:刚刚看到您的屏幕截图,您放置 EditText 的布局是什么?它可能正在为您的控件设置非显式布局规则。
更改 XML 编辑文本这两个属性
android:layout_height="15dp"
android:textSize="12sp"