2011-05-15 97 views
33

我的佈局有4個EditText視圖和一個提交按鈕視圖。我需要在前面的3個EditText中有「Next」按鈕,在第4個EditText字段中有一個「Done」按鈕來代替軟鍵盤的「New Line」鍵。Android軟鍵盤操作按鈕

這怎麼辦?

+0

他們是多行嗎?以及您使用的Android版本是什麼?只是問... – 2016-09-13 01:31:09

回答

65

在您的佈局中,只需爲前三個文本框設置XML屬性android:imeOptions="actionNext",將最後一個設置爲android:imeOptions="actionDone"

請參見:android:imeOptions documentation

此外,還有在training docs一個小XML實例。

+4

嗨馬丁,android:imeOptions =「actionNext」工作正常與android:inputType =「文本」的EditText的,但對於android:inputType =「textMultiLine」的EditText不是。 – 2011-05-15 09:52:30

+0

@Venkat,你可以嘗試使用'flagNavigateNext':「...允許IME成爲多行(帶有回車鍵)以及提供向前導航......」(見上面的第一個鏈接)。 – 2011-05-15 09:54:37

+0

嗨,馬丁,我得到了「錯誤:字符串類型不允許」通過使用android:imeOptions =「flagNavigateNext」爲EditText – 2011-05-15 10:03:15

1

我想你要尋找的是這樣的:

EditText nextText = new EditText(this) 
{ 
    @Override 
    public InputConnection onCreateInputConnection(final EditorInfo outAttrs) 
    { 
     outAttrs.imeOptions |= EditorInfo.IME_ACTION_NEXT; 
     return (super.onCreateInputConnection(outAttrs)); 
    } 
}; 

EditText doneText = new EditText(this) 
{ 
    @Override 
    public InputConnection onCreateInputConnection(final EditorInfo outAttrs) 
    { 
     outAttrs.imeOptions |= EditorInfo.IME_ACTION_DONE; 
     return (super.onCreateInputConnection(outAttrs)); 
    } 
}; 

它第一個將用戶帶到下一個字段中接受文本佈局。第二個將關閉IME(軟鍵盤)。

5

導航將焦點轉移到下一個編輯字段中添加

android:imeOptions="flagNavigateNext"

,並解僱與DONE軟鍵點擊你的佈局:)

2

添加

android:imeOptions="actionDone"

android:singleLine="true"您按鈕xml