在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使软键盘始终可见
- 2. 键盘始终在codenameone中可见
- 3. android force键盘可见
- 4. 保持键盘始终位于顶部&可见
- 5. 如何让数字键盘始终显示在uiview中?
- 6. 始终可见qml
- 7. 键盘可见性
- 8. 无法让微调器的滚动条始终可见(Android)
- 9. 如何让listview的滚动条始终可见
- 10. Unity + Vuforia如何让3dmodel的前端始终可见
- 11. 如何让UISearchBar范围栏始终可见?
- 12. Android中始终可见的视图
- 13. Android搜索对话框始终可见
- 14. Android-力量可见软键盘
- 15. Android - 检测可见的键盘?
- 16. 软输入键盘不可见的Android
- 17. 如何使软输入键盘上的edittext始终在android中?
- 18. Android:我如何始终保持键盘的高度
- 19. 如何使ASP.NET AJAX CalendarExtender始终可见?
- 20. 如何使objectAtIndex:0始终可见?
- 21. 如何使Datalist箭头始终可见
- 22. 如何使iframe始终可见
- 23. 如何使WPF DataGrid VerticalScrollBar始终可见?
- 24. 如何隐藏自定义键盘可见时的默认Android键盘?
- 25. 如何让专注于android的键盘?
- 26. Android - 如何让键盘出现EditText
- 27. 可可触摸:如何让控制器始终在其他视图中可见
- 28. 希望``始终可见
- 29. 扩展栏始终可见
- 30. DatePicker/Timepicker始终可见
我试图使用Android源代码,并可左右,但不知道哪一部分,我应该修改从隐藏禁用它拖动键盘。我正在看LatinIME.java下的这个类。我试图将该代码中的inputView添加到WindowManager.addView。 – LittleFunny 2016-10-04 13:14:58
@Simon查看我对我的答案的更新。您可能想要使用KeyboardView。 – Intrications 2016-10-05 07:20:09