有没有办法在EditText中设置从左到右2dp的光标位置

时间:2012-12-05 03:28:33

标签: android cursor position android-edittext

有没有办法根据px从左到右设置EditText中光标的位置。

我使用此代码

EditText etEmail = (EditText) findViewById(R.id.et_email);
etEmail.setText("Email");
etEmail.setSelection(2);

它可以工作,但电子邮件文本不会删除。所以我将etEmail.setText("Email")更改为etEmail.setHnt("Email")

像这样

EditText etEmail = (EditText) findViewById(R.id.et_email);
etEmail.setHint("Email");
etEmail.setSelection(2);

但是错误。

有没有办法在EditText中设置光标的位置?

这是第一次加载

enter image description here

这是我想要的

enter image description here

<EditText
            android:id="@+id/et_email"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/fillbox"
            android:hint="Email"
            android:ems="10"
            android:inputType="textEmailAddress" />

2 个答案:

答案 0 :(得分:6)

您可以在XML中设置paddingLeft属性

  <EditText 
    android:layout_width="90dp"
    android:layout_height="70dp"
    android:text="BBBBB"
    android:hint="AAAAAAAAAAAAAAAAAAAA"
    android:paddingLeft="30dp"/>

或从代码

设置
EditText edt = (EditText)findViewById(R.id.edt);

        edt.setPadding(2, 0, 0, 0); //int left, int top, int right, int bottom

选中真实设备enter image description here

答案 1 :(得分:3)

如果你想编辑文本应该在中间而不是使用它:edt.setPadding(5, 5, 5, 5);,如果你编辑文字应该在左侧或右侧留下一些空隙,而不是执行以下操作:edt.setPadding(5, 0, 0, 0);

在xml文件中添加:

android:hint="Email" android:paddingLeft="20dp"

enter image description here