下面是我设法在android上隐藏软键盘的一些代码。它的工作原理是用户点击屏幕上的任何位置(EditText
输入之外)来隐藏输入法软键盘。它将OnTouchListener
注册到ScrollView(id=“@+id/sv_background)
,当触摸屏幕时,它会通过InputMethodManager
代码隐藏IME软键盘。在这种情况下,我已将滚动视图设置为父布局,但它也适用于任何其他布局视图。
我希望这对安卓领域的人有用。
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>
Java语言
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;
}
});
}