我正在设计一个主要用于外接键盘的Android应用程序。我动态设置了一些编辑文本。问题是无论何时设置焦点,弹出软输入键盘。我想知道如何禁用它。但是,如果用户按下按钮,我想显示一个弹出框以及启用键盘。可以这样做吗?您是否可以完全禁用弹出键盘,然后在用户按下按钮打开弹出菜单时启用它?任何帮助将不胜感激。
答案 0 :(得分:0)
使用此:
public class MyActivity extends Activity
{
private EditText ed;
private Button b;
private InputMethodManager imm;
private boolean hide = true;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
ed = (EditText) findViewById(R.id.edit);
b = (Button) findViewById(R.id.button);
imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
b.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
if(hide)
{
hide = false;
imm.hideSoftInputFromWindow(ed.getWindowToken(), 0);
}
else
{
hide = true;
imm.showSoftInput(ed, 0);
}
}
});
}
}
并在活动代码的清单中:
<activity
android:windowSoftInputMode="stateAlwaysHidden"