【问题标题】:Android EditText offset for the text?文本的Android EditText偏移量?
【发布时间】:2011-09-14 18:27:32
【问题描述】:

我为我的 EditText 创建了一个可绘制的背景,但文本显示在图像边框中。我通过将 'scrollX 设置为 -12dip 来解决这个问题,这似乎在 Eclipse 中的图形布局查看器中使用(图 1)。但是在设备上它仍然通过图像显示。如果这很重要,我已经通过 xml 文件引用了我的背景可绘制对象。

In Eclipse and a screenshot http://img28.imageshack.us/img28/9954/nieuwbitmapafbeelding.png

是的,我知道第二张照片不同,但这只是因为我专注于视图,即使我不专注,问题仍然存在。 :'(

编辑
我现在完全重新制作了图像,并使用了 draw9patch。文本偏移是固定的,但是由于我在图像中使用了垂直渐变,因此我选择了所有像素(减去实际边框)以防止出现部分渐变 -> 拉伸纯色部分 -> 渐变。现在背景drawable的高度总是很大。

如果图像中有渐变,这通常是如何完成的?可能如果您一开始就创建较小的图像,您将不会获得非常平滑的渐变。
我该如何解决我的问题,应该如何解决?

【问题讨论】:

    标签: android layout view android-edittext drawable


    【解决方案1】:

    如果您在EditText 中使用android:paddingLeft="" 属性,它会将其中的TextView 移动指定数量的像素。

    例子:

    android:paddingLeft="30dp" 会将您的文本向右移动 30 个与密度无关的像素。

    【讨论】:

      【解决方案2】:

      您是如何实际创建背景图像的?如果它是完整的图像,那么这不是最好的方法。

      您应该创建一个 9-patch 图像作为背景; http://developer.android.com/guide/developing/tools/draw9patch.html

      【讨论】:

      • 他应该这样做作为一般规则,但这不是他得到转移文本的原因。我想是因为他左边的图片比默认的EditText图片长,所以边框更靠右。如果他垫调整,它应该修复它。
      【解决方案3】:

      如果您使用 editText.setPadding(),它可能会为您提供文本移动所需的间距。不过,它也可能对背景资源应用填充。不过试试看

      【讨论】:

        【解决方案4】:

        只是一个建议,而不是解决方案......

        您可以使用RelativeLayout,在XML 中,使用一些属性,如alignParentBotton 或alignParentLeft 之类的,而不是绝对位置协调器。如果您使用绝对协调器,有时您的 ui 在不同设备上看起来会有所不同。

        【讨论】:

        • 我已经在使用相对布局了。我只需要编辑文本框中的文本稍微向右即可。
        猜你喜欢
        • 2013-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-14
        相关资源
        最近更新 更多