2011-02-22 68 views
6

我想知道你是否可以控制EditText上的輸入從右向左移動? EditText也必須支持從右向左的插入/刪除等。有沒有辦法做到這一點?你能從右向左做一個EditText輸入嗎?

+2

什麼實際上是你想達到什麼樣的?你可能想要插入一個阿拉伯字符,將這個行爲添加到文本字段。它必須是第一個字符,但我不知道它可能是哪個字符。 – 2011-02-22 20:49:21

+0

我有一個帶面具的(美國)貨幣領域,我希望進入從右向左移動。 – ninjasense 2011-02-22 21:01:59

+0

@LoïcFaure-Lacroix是的,當我用阿拉伯語寫的,然後我們可以看到文本從右到左 – 2011-10-24 11:52:46

回答

8

這聽起來像你只需要將重力設置在右側。

+1

@很.......如果我們將Gravity設置爲右側我們可以將文字設置在右側。 – 2011-10-24 10:20:00

+0

他要求文字從右到左寫,而不是正確的文字。 「右」的作品將寫成「THGIR」 – 2013-07-23 23:44:18

+0

@CamilleSévigny我不相信這是真的。在評論中他說這是一個美國貨幣領域。如果是貨幣字段,則按該順序輸入1-0-0-0不應顯示爲0001。它應該顯示爲$ 10.00。它應該按照輸入的順序顯示,但是按照正確的順序排列。在任何類型的美國貨幣系統中,您都不會輸入4-3-2-1來輸入$ 12.34 ...這個國家的收銀機不是這樣工作的。 3對這個答案進行了降低投票,但是他真正要問的是如何正確對齊文本。 – Rich 2013-07-24 22:49:09

1

試試這個代碼

//initialize 
EditText userName = (EditText)findViewById(R.id.userName); 

//set gravity for userName 
userName.setGravity(Gravity.RIGHT); 
0

有手工方式通過使用下面的代碼來做到這一點:

@Override 
public boolean onKeyUp(int keyCode, KeyEvent event) { 

    if (keyCode == KeyEvent.KEYCODE_MENU) { 
     // Each time click Menu button on the bar 
     // Set the cursor to the first index 
     mEtEmail.setSelection(0); // YOUR EDIT TEXT 
    } 

    return super.onKeyUp(keyCode, event); 
} 

P/S:或者你可以改變

KeyEvent.KEYCODE_MENU

按照您的意願,

或者你可以嘗試Bidi

謝謝,

-1

試試這個....

  1. 初始化用戶名和密碼字段。

    EditText username = (EditText) findViewById(R.id.username); 
    
    EditText password = (EditText) findViewById(R.id.password); 
    
  2. 獲取RTL語言(如阿拉伯語等)的當前語言環境。

    String getCurrentLocale = Locale.getDefault().getDisplayLanguage(); 
    
  3. 然後我們應該檢查RTL或LTR選擇哪種語言。

    if(getCurrentLocale.equalEgnoreCase("English")){   //LTR languages 
    
         username.setGravity(Gravity.Left); 
    
         password.setGravity(Gravity.Left); 
    
    }else{              //RTL languages 
    
        username.setGravity(Gravity.Right); 
    
        password.setGravity(Gravity.Right); 
    
    } 
    
  4. 快樂編碼...!

10

添加到您的EDITTEXT

 android:textDirection="rtl" 
+0

請注意以下事項: - android:textDirection需要API級別17 – 2017-03-27 08:02:16

4

只要使用此:

android:layout_gravity="start" 
android:textAlignment="viewStart" 
+0

編輯文本RTL支持正在處理此問題。 – Kathi 2018-01-16 18:47:18