在android中,我們如何讓設備小鍵盤在應用程序中始終可見?頂部顯示應用程序想要呈現的內容,底部始終顯示鍵盤。Android:如何讓鍵盤始終可見?
30
A
回答
39
添加機器人:windowSoftInputMode =「stateAlwaysVisible」你的活動在AndroidManifest.xml文件:
<activity android:name=".MainActivity"
android:label="@string/app_name"
android:windowSoftInputMode="stateAlwaysVisible" />
在我的測試應用程序這顯示了應用程序的啓動鍵盤雖然是不固定的,但有可以通過按下後退按鈕來解除。
爲了確保鍵盤總是可見,您可能需要創建自己的鍵盤爲您的應用程序的用戶界面的一部分。下面是一個教程,向您展示如何使用KeyboardView完成此操作:http://www.fampennings.nl/maarten/android/09keyboard/index.htm
10
您的佈局中必須有EditText
,並且需要擴展EditText
基類。然後重寫onKeyPreIme()
方法,並返回 True。現在您的鍵盤將始終可見,並且不能被後退鍵取消。
注意:由於您的onKeyPreIme()
方法返回true
您不能使用後退鍵退出您的應用程序。
例子:
public class CustomEdit extends EditText {
public CustomEdit(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
@Override
public boolean onKeyPreIme(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
Log.e("Log", "onKeyPreIme");
return true;
//return super.onKeyPreIme(keyCode, event);
}
}
0
我發現,工作對我來說,保持軟鍵盤的編輯後,可見我EditText
類的myEditText
領域的方式。關鍵是要覆蓋onEditorAction
方法,使其返回true
myEditText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
return true;
}
});
否則只有「完成」鍵,點擊後有onEditorAction
返回true
(IME_ACTION_DONE
),否則false
myEditText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if(actionId==EditorInfo.IME_ACTION_DONE){
Log.i(LOG_TAG, "IME_ACTION_DONE");
return true;
}
return false;
}
});
(見this answer在onEditorAction
方法)
將android:windowSoftInputMode="stateAlwaysVisible
添加到清單文件幫助在活動開始時顯示軟鍵盤,但是在編輯後單擊「完成」鍵時不會阻止它再次消失。
相關問題
- 1. android force鍵盤可見
- 2. 如何讓數字鍵盤始終顯示在uiview中?
- 3. 始終可見qml
- 4. 無法讓微調器的滾動條始終可見(Android)
- 5. 如何讓UISearchBar範圍欄始終可見?
- 6. 如何讓listview的滾動條始終可見
- 7. 如何使WPF DataGrid VerticalScrollBar始終可見?
- 8. 如何使ASP.NET AJAX CalendarExtender始終可見?
- 9. 如何讓專注於android的鍵盤?
- 10. 可可觸摸:如何讓控制器始終在其他視圖中可見
- 11. DatePicker/Timepicker始終可見
- 12. 如何讓鍵盤消失?
- 13. 如何讓鍵盤消失?
- 14. 如何使窗戶始終如屏幕上的鍵盤
- 15. 如何讓網站的部分始終可見/固定在底部?
- 16. 當屏幕鍵盤可見時,如何讓後退按鈕返回?
- 17. 強制Android始終在webview中顯示鍵盤
- 18. 如何使鍵盤在一些片段的開始處不可見?
- 19. 如何始終在視圖控制器中顯示鍵盤?
- 20. 如何將鍵盤始終保持在屏幕上?
- 21. 如何設置鍵盤始終顯示在屏幕上?
- 22. Android RecyclerView - 當鍵盤打開時,保持最後一個可見項目可見
- 23. 使表格標題始終可見並始終居中
- 24. 鈦安卓鍵盤隱藏,當軟鍵盤可見
- 25. 滾動條始終在CollapsiblePanelExtender中可見
- 26. Gmail樣式始終可見菜單
- 27. 使主滾動條始終可見
- 28. 垂直嵌套滾動始終可見
- 29. 使MKAnnotation地標始終可見
- 30. 視角與文件夾始終可見
我試圖使用Android源代碼,並可左右,但不知道哪一部分,我應該修改從隱藏禁用它拖動鍵盤。我正在看LatinIME.java下的這個類。我試圖將該代碼中的inputView添加到WindowManager.addView。 – LittleFunny 2016-10-04 13:14:58
@Simon查看我對我的答案的更新。您可能想要使用KeyboardView。 – Intrications 2016-10-05 07:20:09