如何更改edittext字段中的起始位置

时间:2013-01-18 14:50:38

标签: android android-layout

我的登录屏幕像这样锁定

http://pbrd.co/UVekFg

使用该代码

 <TextView
        android:id="@+id/login_label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingTop="20dp"
        android:text="@string/login_label_text" />

    <EditText
        android:id="@+id/username"
        android:layout_width="@dimen/textfield_width"
        android:layout_height="@dimen/textfield_height"
        android:background="@drawable/textfeld"
        android:ems="10" >

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/login_password_label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/password" />

    <EditText
        android:id="@+id/login_password"
        android:layout_width="@dimen/textfield_width"
        android:layout_height="@dimen/textfield_height"
        android:background="@drawable/textfeld"
        android:inputType="textPassword" />

实际上,第一个字符直接在edittextfield的左边框开始。是否有一个选项,以便在我的文本框的第一个字符和左边框之间有一点填充?

由于

2 个答案:

答案 0 :(得分:0)

您应该通过在EditText中声明android:padding = 5dp属性来为窗口小部件的所有四个边缘提供填充。

从我在屏幕截图中看到的情况来看,最好使用android:layout_margin属性在小部件之间提供呼吸空间。

答案 1 :(得分:0)

您需要设置android:padding

但如果您计划在整个应用中使用此自定义EditText,则可能需要创建style并将所有自定义部分存储在其中。

例如,在您的styles.xml中,您有:

<style name="Custom.EditText.Style" parent="@android:style/Widget.EditText">
    <item name="android:background">@drawable/textfeld</item>
    <item name="android:paddingLeft">6dp</item>
    <item name="android:paddingTop">4dp</item>
    <item name="android:paddingBottom">4dp</item>
</style>

然后在您的xml布局中,您只需要:

<EditText 
   ...
   style="@style/Custom.EditText.Style"
 />