'u nasıl kullanacağımı anlamıyorum Ne yapmak istediğim, sanal klavyede görünen varsayılan "Done" etiketini değiştirmektir. Burada herhangi bir şans çalıştığım buydu:Android: setImeActionLabel
mSearchInput.setImeOptions(EditorInfo.IME_ACTION_DONE);
mSearchInput.setImeActionLabel(getString(R.string.search_action_label), EditorInfo.IME_ACTION_DONE);
Ben Ancak bununla, o düğmeyi tıklamanın ele am mümkün:
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;
}
});
Ben clueless olarak nasıl olduğum Şu an bu düğmedeki etiketi değiştirebilirim.
Bu ilginç. Emülatörde manzaraya geçtiğimde, yumuşak klavye artık görünmüyor. Ayrıca, Messaging uygulamasının örneğin "Bitti" düğmesi yerine bir surat (":-)") yerleştirdiğini fark ettim. Özel bir klavye düzeni mi kullanıyor? Bu arada, bahşiş için teşekkürler. – Felix
Emülatör, yatay modda maruz kaldığı fiziksel bir klavyeyi taklit ettiği için yazılım klavyesinde görünmüyor (tıpkı açtığınız takdirde G1'de yumuşak klavyenin görünmeyeceği gibi). Klavyeyi, AVD için config.ini dosyasını değiştirerek devre dışı bırakabilirsiniz, 'hw.keyboard = no' ekleyerek. Mesajlaşma uygulamasına gelince, onun kaynağını daha yeni kontrol ettim ve sanırım smiley "inputType =" textShortMessage "öğesinin bir yan ürünüdür ve" Gönder "düğmesinin olmaması" imeOptions = "nedeniyle oluşur. flagNoEnterAction "', ama aslında test etmedim. Dikkat ederseniz, Touch Input her iki bayrağı da göz ardı ediyor gibi görünüyor. – mernen
Özgün sorudaki koddan, bu "VEYA" kodunu eklerseniz, fiziksel klavyenin "dönüş" düğmesini kullanabilirsiniz: if (actionId == EditorInfo.IME_ACTION_SEARCH || event.getKeyCode() == KeyEvent.KEYCODE_ENTER) – CircuitBreaker716