2012-12-05 50 views
3

有没有什么方法可以根据px从左到右设置EditText中光标的位置。有没有办法在EditText中从左到右设置光标位置2dp

我使用此代码

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" /> 
+0

的提示文本是不实际的可编辑的文本,所以你不能选择提示的一部分,因为...它是不可编辑的。 – Eric

+0

你想做什么? – dmon

+0

我想从左到右移动光标2dp – kongkea

回答

6

您可以设置paddingLeft属性的XML

<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

+0

检查我的编辑。我也尝试你的代码,但它不工作 – kongkea

3

如果你想的EditText应该在中间不是使用这样的:edt.setPadding(5, 5, 5, 5);,如果你的EditText应该留有一定的间隙,在左侧或右侧比做以下:edt.setPadding(5, 0, 0, 0);

添加到您的XML文件中:

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

enter image description here

+0

@G M Ramesh检查我的编辑 – kongkea

+2

@kongkea,检查一次,它为我工作把android:paddingLeft =“40dp” –

+0

@G M Ramesh它现在的工作。谢谢 – kongkea