@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
//键盘开 && 第一个scroll dy》0
if(showSoftInput) {
if(mVelocityTracker == null) {
mVelocityTracker = VelocityTracker.obtain();
}
mVelocityTracker.addMovement(ev);
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
downY = (int) ev.getY();
showDispatchTouch = true;
break;
case MotionEvent.ACTION_MOVE:
if(downY > ev.getY()) {
showDispatchTouch = true;
} else {
showDispatchTouch = false;
mVelocityTracker.computeCurrentVelocity(1000);
if(mVelocityTracker.getYVelocity() > 200 && mContext instanceof ActivityReplyDetail) {
((ActivityReplyDetail)mContext).hideSoftInput();
}
}
break;
default:
break;
}
}
return !showDispatchTouch || isAnimating || super.onInterceptTouchEvent(ev);
}
mReplyEditLayout.addOnLayoutChangeListener(new OnLayoutChangeListener() {
@Override
public void onLayoutChange(View v, int left, int top, int right,
int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
if(!mOrientationChanged) {
if(top > oldTop) {
if(!mEditTouchedFlag)
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR);
//键盘隐藏
mSoftInputShow = false;
mPullToNextLayout.setDispatchTouch(true);
mPullToNextLayout.setIsShowSoftInput(false);
} else if (top < oldTop) {
//键盘显示
mSoftInputShow = true;
mPullToNextLayout.setIsShowSoftInput(true);
}
mEditTouchedFlag = false;
}
}
});
@Override
public boolean onTouchEvent(MotionEvent event) {
if(mSoftInputShow) {
switch (event.getAction()) {
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP:
imm.hideSoftInputFromWindow(getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
return true;
}
}
return super.onTouchEvent(event);
}
InputMethodManager.HIDE_NOT_ALWAYS
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有