2012-12-05 51 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