項目開發中,產品經理拿著iPhone上的效果說Android!
iPhone上在使用鍵盤輸入時,在非輸入框位置(即空白區域)點擊,鍵盤會收起來。之前在Android上沒有實現過這兒效果,首先想到的是在最外層布局文件上添加onclik事件,由於子view會優先處理事件,所以在點擊其他地方時隱藏鍵盤,但百度之後發現另一種做法:
private InputMethodManager manager=null;
manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
if (event.getAction() == MotionEvent.ACTION_DOWN) {
if (getCurrentFocus() != null
&& getCurrentFocus().getWindowToken() != null) {
manager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
}
return super.onTouchEvent(event);
}
原來InputMethodManager中已經有對這個事件的處理了。
更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11