0
有沒有辦法在Activity.dispatchTouchEvent(MotionEvent ev)中獲取對被觸摸視圖的引用?從MotionEvent X獲得視圖,Y
如果用戶點擊任何不是EditText的地方,我需要隱藏自定義的RelativeLayout「鍵盤」。而且由於我在使用活動,許多片段都有許多視圖組,並且每個組都有自己的許多視圖,其中一些視圖是EditText,因此在每個子視圖或子視圖組上設置onTouchEvent將會耗費太多工作量。
在MainActivity中,類似這樣的事情是我認爲的一個好方法。
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (mKeyboardLike.getVisibility() == View.VISIBLE) {
if (!isTouchedEditText(ev.getRawX(), ev.getRawY())) {
mKeyboardLike.setVisibility(View.GONE);
}
}
return super.dispatchTouchEvent(ev);
}
private boolean isTouchedEditText(int x, int y){//viewFound instanceOf EditText; return true;}