Android隐藏软键盘IME

时间:2010-10-25 00:04:25

标签: java android

下面是我设法在android上隐藏软键盘的一些代码。它通过用户点击屏幕上的任何位置(EditText输入/ s之外)来隐藏IME软键盘。它将OnTouchListener注册到ScrollView (id="@+id/sv_background),当触摸屏幕时,它会通过InputMethodManager代码隐藏IME软键盘。在这种情况下,我将滚动视图设置为父布局,但它也适用于任何其他布局视图。

我希望这对Android领域的人有用。

XML

<ScrollView 
android:id="@+id/sv_background" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
xmlns:android="http://schemas.android.com/apk/res/android">

   <other views and EditTexts/>

</ScrollView>

爪哇

private ScrollView svBackground;

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

    svBackground = (ScrollView)findViewById(R.id.sv_background);
    svBackground.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(svBackground.getWindowToken(), 0);
            return false;
        }
    });
}

0 个答案:

没有答案