36

我的问题是:我有一个EditText,我想在EditText中设置一个边距,我的意思是编辑文本的内容(文本)的边距,而不是视图的边距女巫我可以通过此属性来解决:android:layout_marginLeft在编辑文本中的边距在android中

我需要在EditText里面的文本前后放一些空格。

我试图设置填充,但不起作用!

这是我的XML代码:

<FrameLayout 
    android:layout_width="wrap_content" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="wrap_content" 
    android:layout_marginLeft="2dp"> 

    <EditText android:inputType="none" 
     android:textSize="15sp" 
     android:id="@+id/editText1" 
     android:scrollHorizontally="true" 
     android:layout_height="35dp" 
     android:padding="3dip" 
     android:singleLine="true" 
     android:layout_width="160dp" 
     android:layout_weight="0" /> 

    <ImageView android:id="@+id/refreshButton" 
     android:src="@drawable/refresh" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_gravity="center_vertical|right" /> 
</FrameLayout> 

任何一个可以帮助我做到这一点?

在此先感谢

回答

61

的填充变量应该是你在寻找什么。你应该尝试增加填充到10dp之类的东西来测试它是否做了任何事情。我猜测,因为EditText的背景是9补丁,所以填充不会如您所期望的那样发挥作用。当您将9补丁作为背景的视图上设置填充时,将忽略内置到9补丁中的任何填充。因此,如果9补丁有5dp填充,并且您在xml中设置了3dp填充,则不会得到8dp填充,您将得到3dp。

+0

是的,你是对的,填充是解决方案!谢谢 – 2012-03-28 20:37:16

+6

记住这些日子(2016年)这个答案有改变文本填充的问题,而不会对背景可绘制做同样的事情。这可能看起来很奇怪,具体取决于背景(例如AppCompat base EditText样式) – 2016-03-04 15:12:00