相关疑难解决方法(0)

停止EditText在Activity启动时获得焦点

Activity在Android中有两个元素:

  1. EditText
  2. ListView

当我Activity开始时,EditText立即有输入焦点(闪烁光标).我不希望任何控件在启动时具有输入焦点.我试过了:

EditText.setSelected(false);
EditText.setFocusable(false);
Run Code Online (Sandbox Code Playgroud)

没运气.如何说服开始EditText时不选择自己Activity

android listview focus android-edittext

2770
推荐指数
36
解决办法
71万
查看次数

Android:如何判断软键盘是否显示?

继承人的困境:我正在显示一个屏幕,其中有一个输入字段和一个标签内的2个按钮(共有3个标签,它们位于屏幕的底部).2个按钮设置在屏幕的左下方和右下方,位于选项卡的正上方.当我点击输入字段时,标签和按钮都被推到键盘顶部.

我希望只按下按钮,并将标签保留在原来的位置,在底部.一旦我确定软键盘正在显示,我正在考虑将标签的可见性设置为GONE,并且一旦软键盘消失就可以看到VISIBLE.

是否有某种类型的软键盘监听器,或者输入字段?也许OnFocusChangeListener是编辑文本的一些棘手的用法?如何确定键盘是否可见?

android

20
推荐指数
1
解决办法
2万
查看次数

如何防止软键盘出现在我的Activity中?

我正在编写一个以全屏横向模式运行的Android游戏,并在窗口的左下角和右下角放置了按钮.问题是其中一个按钮是(在许多手机上)菜单按钮旁边,因此播放器可能会意外按下菜单.

如果短暂按下,我只需暂停游戏并显示游戏内菜单.没问题.

但如果按下按钮的时间更长,Android会打开屏幕下半部分的软键盘.由于它阻碍了,并且在此Activity中完全没用,我想禁用它.

我尝试了以下方法.

通过InputMethodManager

发件人:在没有任何键盘操作的情况下隐藏软键盘

由于我只有一个视图(a GLSurfaceView)我在我的尝试中Activity.onCreate():

InputMethodManager imm = ((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE));
imm.hideSoftInputFromInputMethod(glSurfaceView.getApplicationWindowToken(), 0);
Run Code Online (Sandbox Code Playgroud)

它不起作用:菜单长按时软键盘仍然出现.

通过AndroidManifest.xml

来自:如何阻止Android软键盘在我的整个应用程序中出现

我把它添加到我的清单中:

<activity 
    android:windowSoftInputMode="stateAlwaysHidden"
>
Run Code Online (Sandbox Code Playgroud)

还有很多东西.

那么......还有办法吗?怎么样?

android soft-keyboard

6
推荐指数
2
解决办法
6575
查看次数