2011-09-14 148 views
3

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

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

是的,我知道第二张图是不同的,但是这只是因为我的观点集中,问题就依然存在,即使我无焦点的方式。 :。'(

EDIT
我现在完全重拍的图像(多个),并用于draw9patch文本偏移是固定的,然而,由于我在我的图像中使用的垂直梯度,我所选择的所有像素(减去实际的边框),以防止有一个部分渐变 - >拉伸的纯色部分 - >渐变。现在,可绘制背景的高度总是保持很大。

这是如何通常完成的,如果有渐变在图像中?可能如果您创建的图像很小,您将无法获得非常平滑的渐变效果。
我该如何解决我的问题,该如何解决?

回答

0

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

您可以使用RelativeLayout的,而在XML中,使用像alignParentBotton或alignParentLeft类似的东西,而不是绝对位置协调员的某些属性。如果你使用绝对协调员,有时,你的用户界面在不同的设备上看起来不同。

+0

我已经在使用相对布局。我只需要在edittext框内的文字稍微向右。 – usealbarazer

8

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

例子:

android:paddingLeft="30dp"将文本向右移动30密度独立像素。

2

您是如何创建背景图片的?如果这是完整的形象,那么这不是最好的方式来做到这一点。

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

+0

他应该这样做的原则,但这不是他得到移位文本的原因。我认为这是因为他左侧的图像比默认的“EditText”图像长,所以边界更靠右。如果他的垫子调整,它应该修复它。 – DeeV

+0

编辑我的问题。 – usealbarazer

+0

更好地接受这个答案,如果它是正确的,然后问一个新的问题。不应编辑现有问题以提出新问题。 – C0deAttack

1

如果使用editText.setPadding(),它可能会让您为文本移动所需的间距。尽管如此,它也可能将填充应用于背景资源。但试试吧