我Activity在Android中有两个元素:
EditText ListView当我Activity开始时,EditText立即有输入焦点(闪烁光标).我不希望任何控件在启动时具有输入焦点.我试过了:
EditText.setSelected(false);
EditText.setFocusable(false);
Run Code Online (Sandbox Code Playgroud)
没运气.如何说服开始EditText时不选择自己Activity?
继承人的困境:我正在显示一个屏幕,其中有一个输入字段和一个标签内的2个按钮(共有3个标签,它们位于屏幕的底部).2个按钮设置在屏幕的左下方和右下方,位于选项卡的正上方.当我点击输入字段时,标签和按钮都被推到键盘顶部.
我希望只按下按钮,并将标签保留在原来的位置,在底部.一旦我确定软键盘正在显示,我正在考虑将标签的可见性设置为GONE,并且一旦软键盘消失就可以看到VISIBLE.
是否有某种类型的软键盘监听器,或者输入字段?也许OnFocusChangeListener是编辑文本的一些棘手的用法?如何确定键盘是否可见?
我正在编写一个以全屏横向模式运行的Android游戏,并在窗口的左下角和右下角放置了按钮.问题是其中一个按钮是(在许多手机上)菜单按钮旁边,因此播放器可能会意外按下菜单.
如果短暂按下,我只需暂停游戏并显示游戏内菜单.没问题.
但如果按下按钮的时间更长,Android会打开屏幕下半部分的软键盘.由于它阻碍了,并且在此Activity中完全没用,我想禁用它.
我尝试了以下方法.
由于我只有一个视图(a GLSurfaceView)我在我的尝试中Activity.onCreate():
InputMethodManager imm = ((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE));
imm.hideSoftInputFromInputMethod(glSurfaceView.getApplicationWindowToken(), 0);
Run Code Online (Sandbox Code Playgroud)
它不起作用:菜单长按时软键盘仍然出现.
我把它添加到我的清单中:
<activity
android:windowSoftInputMode="stateAlwaysHidden"
>
Run Code Online (Sandbox Code Playgroud)
还有很多东西.
那么......还有办法吗?怎么样?