如何禁用系统软键盘?

时间:2012-03-06 08:07:29

标签: android keyboard

我编码禁止系统软键盘。它可以实现效果,但一闪一闪就消失了。我不想这一闪。这是我的代码。

public class MainActivity extends Activity {

private EditText mEditText;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mEditText = (EditText) findViewById(R.id.test_et);
    mEditText.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
                 hideSoftInputMode((EditText)v);
        }
    });

}

private void hideSoftInputMode(EditText editText) {
    ((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE))
            .hideSoftInputFromWindow(editText.getWindowToken(),
                    InputMethodManager.HIDE_NOT_ALWAYS);
}

}

2 个答案:

答案 0 :(得分:3)

在您的清单文件中,您可以将windowSoftInputMode设置为stateAlwaysHidden

<activity
    ...other attributes
    android:windowSoftInputMode="stateAlwaysHidden">
</activity>

答案 1 :(得分:1)

还有另外一种方法 - 不要把注意力集中在你的EditText上。将其设置在背景视图(布局)或其他内容上。这可以通过使用:

来完成
setFocusable(true);
requestFocus();

如果不使用Manifest等,这应该可以帮到你。