android中编辑文本内的边距

Ala*_*ita 42 android margin textview android-layout android-edittext

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

我需要在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>
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我这样做吗?

提前致谢

Bob*_*ke4 67

填充变量应该是您正在寻找的.您应该尝试将填充增加到10dp之类,以测试它是否有效.我猜测,因为EditText的背景是一个9补丁,填充不是你所期望的.当您使用9补丁作为背景在视图上设置填充时,将忽略9补丁中内置的任何填充.因此,如果9补丁具有5dp填充并且您在xml中设置3dp填充,则不会获得8dp填充,您将获得3dp.

  • 请记住,这些天(2016年)这个答案有改变文本填充的问题,而不对背景drawable做同样的事情.这可能看起来很奇怪,具体取决于背景(例如AppCompat base EditText样式) (6认同)