24
我想要做的是更改虛擬鍵盤中出現的默認「完成」標籤。這裏就是我沒有任何的運氣嘗試:Android:無法計算如何使用setImeActionLabel
mSearchInput.setImeOptions(EditorInfo.IME_ACTION_DONE);
mSearchInput.setImeActionLabel(getString(R.string.search_action_label), EditorInfo.IME_ACTION_DONE);
我上午能,然而,處理該按鈕的點擊,這一點:
mSearchInput.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
performSearch();
return true;
}
return false;
}
});
我無能,如何此刻我可以更改該按鈕上的標籤。
這很奇怪。當我在模擬器中切換到橫向時,軟鍵盤不再出現。 此外,我注意到消息應用程序,例如,把笑臉(「:-)」),而不是「完成」按鈕。它使用自定義鍵盤佈局還是什麼? 感謝您的提示,順便說一下。 – Felix 2009-10-09 11:28:04
軟鍵盤沒有顯示出來,因爲仿真器模擬了橫向模式下暴露的物理鍵盤(就像將軟鍵盤打開時軟鍵盤不會出現在G1上一樣)。您可以通過修改AVD的config.ini文件來禁用鍵盤,並添加'hw.keyboard = no'。 至於消息應用程序,我剛剛檢查了它的源代碼,並且我猜測笑臉是inputType =「textShortMessage」的副產品,缺少「發送」按鈕是由於「imeOptions =」 flagNoEnterAction「',但我沒有真正測試過它。請注意,觸摸輸入似乎忽略了兩個標誌。 – mernen 2009-10-09 22:45:02
從原始問題的代碼中,如果你只是添加這個「OR」代碼,你可以考慮物理鍵盤的「返回」按鈕:if(actionId == EditorInfo.IME_ACTION_SEARCH || event.getKeyCode()== KeyEvent.KEYCODE_ENTER ) – CircuitBreaker716 2012-01-24 05:54:17