Commit d68aac24 authored by 王海's avatar 王海

新增点击空白 收起软键盘

parent 6981a800
package com.xingdata.zzdpos.ui.manage.otherselect;
import android.text.InputType;
import android.content.Context;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import android.widget.TextView;
import com.blankj.utilcode.util.FragmentUtils;
......@@ -20,7 +23,8 @@ import com.xingdata.zzdpos.ui.manage.otherselect.fragment.OtherListFragment;
import com.xingdata.zzdpos.util.OnClickListener;
public class OtherSelectActivity extends BaseActivity<OtherSelectPresenter, ActivityOtherSelectBinding> implements OtherSelectContract.View {
public class OtherSelectActivity extends BaseActivity<OtherSelectPresenter,
ActivityOtherSelectBinding> implements OtherSelectContract.View {
private OtherListFragment mOtherListFragment = new OtherListFragment();
private OtherDetailFragment mOtherDetailFragment = new OtherDetailFragment();
LoadingDialog mLoadingDialog = new LoadingDialog();
......@@ -36,7 +40,8 @@ public class OtherSelectActivity extends BaseActivity<OtherSelectPresenter, Acti
mViewBinding.lyTitle.edTitle.setVisibility(View.GONE);
mViewBinding.lyTitle.tvTitle.setText("邻库查询");
mViewBinding.lyTitle.tvTitle.setVisibility(View.VISIBLE);
FragmentUtils.add(getSupportFragmentManager(), mOtherListFragment, mViewBinding.fragmentContainer.getId(), false, true);
FragmentUtils.add(getSupportFragmentManager(), mOtherListFragment, mViewBinding
.fragmentContainer.getId(), false, true);
mViewBinding.edTitle.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
......@@ -88,7 +93,8 @@ public class OtherSelectActivity extends BaseActivity<OtherSelectPresenter, Acti
@Override
public void showOsskuDetail(Ossku ossku) {
mOtherDetailFragment.setOssku(ossku);
FragmentUtils.add(getSupportFragmentManager(), mOtherDetailFragment, mViewBinding.fragmentContainer.getId(), false, true);
FragmentUtils.add(getSupportFragmentManager(), mOtherDetailFragment, mViewBinding
.fragmentContainer.getId(), false, true);
}
@Override
......@@ -108,4 +114,34 @@ public class OtherSelectActivity extends BaseActivity<OtherSelectPresenter, Acti
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View v = getCurrentFocus();
if (isShouldHideKeyboard(v, ev)) {
InputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS
);
}
}
return super.dispatchTouchEvent(ev);
}
// 根据 EditText 所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘
private boolean isShouldHideKeyboard(View v, MotionEvent event) {
if (v != null && (v instanceof EditText)) {
int[] l = {0, 0};
v.getLocationInWindow(l);
int left = l[0],
top = l[1],
bottom = top + v.getHeight(),
right = left + v.getWidth();
return !(event.getX() > left && event.getX() < right
&& event.getY() > top && event.getY() < bottom);
}
return false;
}
}
package com.xingdata.zzdpos.ui.manage.replenishment;
import android.content.Context;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import com.blankj.utilcode.util.KeyboardUtils;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.databinding.ActivityReplenishmentBinding;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Psb;
import com.xingdata.zzdpos.model.Sssku;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.manage.replenishment.fragment.ReplenishmentDetailFragment;
import com.xingdata.zzdpos.ui.manage.replenishment.fragment.ReplenishmentFragment;
import java.util.List;
public class ReplenishmentActivity extends BaseActivity<ReplenishmentPresenter, ActivityReplenishmentBinding> implements ReplenishmentContract.View {
public class ReplenishmentActivity extends BaseActivity<ReplenishmentPresenter,
ActivityReplenishmentBinding> implements ReplenishmentContract.View {
private ReplenishmentFragment mReplenishmentFragment = new ReplenishmentFragment();
private ReplenishmentDetailFragment mReplenishmentDetailFragment = new ReplenishmentDetailFragment();
private ReplenishmentDetailFragment mReplenishmentDetailFragment = new
ReplenishmentDetailFragment();
private boolean isAllowFragment = true;
LoadingDialog mLoadingDialog = new LoadingDialog();
......@@ -41,10 +47,10 @@ public class ReplenishmentActivity extends BaseActivity<ReplenishmentPresenter,
@Override
public void showReplenishmentList(List<Psb> A, List<Psb> B, List<Psb> C) {
if (mReplenishmentFragment.isAdded()){
mReplenishmentFragment.showReplenishmentList(A, B, C,false);
}else {
mReplenishmentFragment.showReplenishmentList(A, B, C,true);
if (mReplenishmentFragment.isAdded()) {
mReplenishmentFragment.showReplenishmentList(A, B, C, false);
} else {
mReplenishmentFragment.showReplenishmentList(A, B, C, true);
loadRootFragment(R.id.f_bottom, mReplenishmentFragment, true, false);
}
......@@ -92,5 +98,33 @@ public class ReplenishmentActivity extends BaseActivity<ReplenishmentPresenter,
isAllowFragment = is;
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View v = getCurrentFocus();
if (isShouldHideKeyboard(v, ev)) {
InputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS
);
}
}
return super.dispatchTouchEvent(ev);
}
// 根据 EditText 所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘
private boolean isShouldHideKeyboard(View v, MotionEvent event) {
if (v != null && (v instanceof EditText)) {
int[] l = {0, 0};
v.getLocationInWindow(l);
int left = l[0],
top = l[1],
bottom = top + v.getHeight(),
right = left + v.getWidth();
return !(event.getX() > left && event.getX() < right
&& event.getY() > top && event.getY() < bottom);
}
return false;
}
}
package com.xingdata.zzdpos.ui.manage.sssku;
import android.content.Context;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.KeyboardUtils;
......@@ -26,7 +31,8 @@ import com.xingdata.zzdpos.ui.manage.sssku.fragment.VipFragment;
import java.util.List;
public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBinding> implements SsskuContract.View {
public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBinding> implements
SsskuContract.View {
private ManagerFragment mManagerFragment = new ManagerFragment();
private SearchFragment mSearchFragment = new SearchFragment();
......@@ -276,4 +282,34 @@ public class SsskuActivity extends BaseActivity<SsskuPresenter, ActivitySsskuBin
mViewBinding.etSearch.setText("");
mViewBinding.clTitle.requestFocus();
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View v = getCurrentFocus();
if (isShouldHideKeyboard(v, ev)) {
InputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS
);
}
}
return super.dispatchTouchEvent(ev);
}
// 根据 EditText 所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘
private boolean isShouldHideKeyboard(View v, MotionEvent event) {
if (v != null && (v instanceof EditText)) {
int[] l = {0, 0};
v.getLocationInWindow(l);
int left = l[0],
top = l[1],
bottom = top + v.getHeight(),
right = left + v.getWidth();
return !(event.getX() > left && event.getX() < right
&& event.getY() > top && event.getY() < bottom);
}
return false;
}
}
package com.xingdata.zzdpos.ui.manage.user;
import android.os.Bundle;
import android.content.Context;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.databinding.ActivityUserBinding;
import com.xingdata.zzdpos.databinding.ActivityVipBinding;
import com.xingdata.zzdpos.model.Level;
import com.xingdata.zzdpos.model.Mscard;
import com.xingdata.zzdpos.model.Oper;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Pay;
import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.model.Sta;
import com.xingdata.zzdpos.model.Ticket;
import com.xingdata.zzdpos.model.Trule;
import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.model.VipRechargeOrder;
import com.xingdata.zzdpos.ui.dialog.PromptDialog;
import com.xingdata.zzdpos.ui.manage.user.fragment.UserListFragment;
import com.xingdata.zzdpos.ui.vip.VipContract;
import com.xingdata.zzdpos.ui.vip.VipPresenter;
import com.xingdata.zzdpos.view.ViewTools;
import java.util.List;
public class UserActivity extends BaseActivity<UserPresenter, ActivityUserBinding> implements UserContract.View {
public class UserActivity extends BaseActivity<UserPresenter, ActivityUserBinding> implements
UserContract.View {
@Override
public int getLayoutId() {
......@@ -64,4 +52,34 @@ public class UserActivity extends BaseActivity<UserPresenter, ActivityUserBindin
mPresenter.userInfoFragment.pop();
mPresenter.userListFragment.delUserSus();
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View v = getCurrentFocus();
if (isShouldHideKeyboard(v, ev)) {
InputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS
);
}
}
return super.dispatchTouchEvent(ev);
}
// 根据 EditText 所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘
private boolean isShouldHideKeyboard(View v, MotionEvent event) {
if (v != null && (v instanceof EditText)) {
int[] l = {0, 0};
v.getLocationInWindow(l);
int left = l[0],
top = l[1],
bottom = top + v.getHeight(),
right = left + v.getWidth();
return !(event.getX() > left && event.getX() < right
&& event.getY() > top && event.getY() < bottom);
}
return false;
}
}
package com.xingdata.zzdpos.ui.marketing.integral;
import android.content.Context;
import android.support.annotation.Nullable;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.R;
......@@ -16,7 +19,6 @@ import com.xingdata.zzdpos.model.Ubound;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
import com.xingdata.zzdpos.ui.dialog.PromptDialog;
import com.xingdata.zzdpos.ui.marketing.integral.fragment.IntegralIndexFragment;
import com.xingdata.zzdpos.util.OnClickListener;
import java.util.List;
......@@ -88,4 +90,33 @@ public class IntegralActivity extends BaseActivity<IntegralPresenter, ActivityIn
mPresenter.exchangeQuery(loadingDialog);
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View v = getCurrentFocus();
if (isShouldHideKeyboard(v, ev)) {
InputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS
);
}
}
return super.dispatchTouchEvent(ev);
}
// 根据 EditText 所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘
private boolean isShouldHideKeyboard(View v, MotionEvent event) {
if (v != null && (v instanceof EditText)) {
int[] l = {0, 0};
v.getLocationInWindow(l);
int left = l[0],
top = l[1],
bottom = top + v.getHeight(),
right = left + v.getWidth();
return !(event.getX() > left && event.getX() < right
&& event.getY() > top && event.getY() < bottom);
}
return false;
}
}
package com.xingdata.zzdpos.ui.marketing.ms;
import android.content.Context;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import com.blankj.utilcode.util.KeyboardUtils;
import com.blankj.utilcode.util.ToastUtils;
......@@ -24,7 +29,8 @@ import com.xingdata.zzdpos.ui.marketing.ms.model.User;
import java.util.List;
public class MsActivity<Sku extends BaseSku> extends BaseActivity<MsPresenter, ActivityMsBinding> implements MsContract.View<Sku> {
public class MsActivity<Sku extends BaseSku> extends BaseActivity<MsPresenter, ActivityMsBinding>
implements MsContract.View<Sku> {
private ManagerFragment mManagerFragment = new ManagerFragment();
private EditorFragment mEditorFragment = new EditorFragment();
......@@ -182,4 +188,33 @@ public class MsActivity<Sku extends BaseSku> extends BaseActivity<MsPresenter, A
}
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View v = getCurrentFocus();
if (isShouldHideKeyboard(v, ev)) {
InputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS
);
}
}
return super.dispatchTouchEvent(ev);
}
// 根据 EditText 所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘
private boolean isShouldHideKeyboard(View v, MotionEvent event) {
if (v != null && (v instanceof EditText)) {
int[] l = {0, 0};
v.getLocationInWindow(l);
int left = l[0],
top = l[1],
bottom = top + v.getHeight(),
right = left + v.getWidth();
return !(event.getX() > left && event.getX() < right
&& event.getY() > top && event.getY() < bottom);
}
return false;
}
}
package com.xingdata.zzdpos.ui.marketing.recharge;
import android.content.Context;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
......@@ -35,6 +40,34 @@ public class RechargeRuleActivity extends BaseActivity<RechargeRulePresenter, Ac
mPresenter.mscardQuery();
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View v = getCurrentFocus();
if (isShouldHideKeyboard(v, ev)) {
InputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS
);
}
}
return super.dispatchTouchEvent(ev);
}
// 根据 EditText 所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘
private boolean isShouldHideKeyboard(View v, MotionEvent event) {
if (v != null && (v instanceof EditText)) {
int[] l = {0, 0};
v.getLocationInWindow(l);
int left = l[0],
top = l[1],
bottom = top + v.getHeight(),
right = left + v.getWidth();
return !(event.getX() > left && event.getX() < right
&& event.getY() > top && event.getY() < bottom);
}
return false;
}
}
package com.xingdata.zzdpos.ui.marketing.ticket;
import android.content.Context;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.ToastUtils;
import com.xingdata.zzdpos.R;
......@@ -68,4 +74,34 @@ public class ReturnTicketActivity extends BaseActivity<ReturnTicketPresenter,
loadingDialog.dismiss();
}
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View v = getCurrentFocus();
if (isShouldHideKeyboard(v, ev)) {
InputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS
);
}
}
return super.dispatchTouchEvent(ev);
}
// 根据 EditText 所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘
private boolean isShouldHideKeyboard(View v, MotionEvent event) {
if (v != null && (v instanceof EditText)) {
int[] l = {0, 0};
v.getLocationInWindow(l);
int left = l[0],
top = l[1],
bottom = top + v.getHeight(),
right = left + v.getWidth();
return !(event.getX() > left && event.getX() < right
&& event.getY() > top && event.getY() < bottom);
}
return false;
}
}
package com.xingdata.zzdpos.ui.marketing.viplevel;
import android.content.Context;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.databinding.ActivityVipBinding;
import com.xingdata.zzdpos.databinding.ActivityVipLevelBinding;
import com.xingdata.zzdpos.model.Level;
import com.xingdata.zzdpos.model.Mscard;
import com.xingdata.zzdpos.model.Pager;
import com.xingdata.zzdpos.model.Pay;
import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.model.Sta;
import com.xingdata.zzdpos.model.Ticket;
import com.xingdata.zzdpos.model.Trule;
import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.model.VipRechargeOrder;
import com.xingdata.zzdpos.ui.dialog.PromptDialog;
import com.xingdata.zzdpos.ui.vip.VipContract;
import com.xingdata.zzdpos.ui.vip.VipPresenter;
import com.xingdata.zzdpos.view.ViewTools;
import java.util.List;
public class LevelActivity extends BaseActivity<LevelPresenter, ActivityVipLevelBinding> implements LevelContract.View {
public class LevelActivity extends BaseActivity<LevelPresenter, ActivityVipLevelBinding>
implements LevelContract.View {
private Bundle mBundle;
@Override
......@@ -47,8 +37,36 @@ public class LevelActivity extends BaseActivity<LevelPresenter, ActivityVipLevel
@Override
public void updateVipLevelSus(Level level) {
mPresenter.vipLevelEditFragment.pop();
mPresenter.getVipLevel(0,200);
mPresenter.getVipLevel(0, 200);
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View v = getCurrentFocus();
if (isShouldHideKeyboard(v, ev)) {
InputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS
);
}
}
return super.dispatchTouchEvent(ev);
}
// 根据 EditText 所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘
private boolean isShouldHideKeyboard(View v, MotionEvent event) {
if (v != null && (v instanceof EditText)) {
int[] l = {0, 0};
v.getLocationInWindow(l);
int left = l[0],
top = l[1],
bottom = top + v.getHeight(),
right = left + v.getWidth();
return !(event.getX() > left && event.getX() < right
&& event.getY() > top && event.getY() < bottom);
}
return false;
}
}
package com.xingdata.zzdpos.ui.payment;
import android.content.Context;
import android.content.Intent;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import com.blankj.utilcode.util.ActivityUtils;
import com.xingdata.zzdpos.C;
......@@ -33,4 +38,33 @@ public class PaymentActivity extends BaseActivity<PaymentPresenter, ActivityPaym
intent.putExtra(C.EXTRA_KEY.SETTLE_EXTRA, amt);
ActivityUtils.startActivity(intent);
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View v = getCurrentFocus();
if (isShouldHideKeyboard(v, ev)) {
InputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS
);
}
}
return super.dispatchTouchEvent(ev);
}
// 根据 EditText 所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘
private boolean isShouldHideKeyboard(View v, MotionEvent event) {
if (v != null && (v instanceof EditText)) {
int[] l = {0, 0};
v.getLocationInWindow(l);
int left = l[0],
top = l[1],
bottom = top + v.getHeight(),
right = left + v.getWidth();
return !(event.getX() > left && event.getX() < right
&& event.getY() > top && event.getY() < bottom);
}
return false;
}
}
package com.xingdata.zzdpos.ui.sendticke;
import android.content.Context;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.LogUtils;
import com.blankj.utilcode.util.ToastUtils;
......@@ -84,4 +90,33 @@ public class SendTicketActivity extends BaseActivity<SendTicketPresenter,
loadingDialog.dismiss();
}
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View v = getCurrentFocus();
if (isShouldHideKeyboard(v, ev)) {
InputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS
);
}
}
return super.dispatchTouchEvent(ev);
}
// 根据 EditText 所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘
private boolean isShouldHideKeyboard(View v, MotionEvent event) {
if (v != null && (v instanceof EditText)) {
int[] l = {0, 0};
v.getLocationInWindow(l);
int left = l[0],
top = l[1],
bottom = top + v.getHeight(),
right = left + v.getWidth();
return !(event.getX() > left && event.getX() < right
&& event.getY() > top && event.getY() < bottom);
}
return false;
}
}
package com.xingdata.zzdpos.ui.settle;
import android.content.Context;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import com.blankj.utilcode.util.ActivityUtils;
import com.blankj.utilcode.util.KeyboardUtils;
......@@ -219,5 +224,33 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
break;
}
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View v = getCurrentFocus();
if (isShouldHideKeyboard(v, ev)) {
InputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS
);
}
}
return super.dispatchTouchEvent(ev);
}
// 根据 EditText 所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘
private boolean isShouldHideKeyboard(View v, MotionEvent event) {
if (v != null && (v instanceof EditText)) {
int[] l = {0, 0};
v.getLocationInWindow(l);
int left = l[0],
top = l[1],
bottom = top + v.getHeight(),
right = left + v.getWidth();
return !(event.getX() > left && event.getX() < right
&& event.getY() > top && event.getY() < bottom);
}
return false;
}
}
package com.xingdata.zzdpos.ui.statistics;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import com.alibaba.fastjson.JSON;
import com.blankj.utilcode.util.ActivityUtils;
......@@ -122,5 +127,33 @@ public class StatisticsActivity extends BaseActivity<StatisticsPresenter, Activi
// }
return super.onKeyDown(keyCode, event);
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View v = getCurrentFocus();
if (isShouldHideKeyboard(v, ev)) {
InputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS
);
}
}
return super.dispatchTouchEvent(ev);
}
// 根据 EditText 所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘
private boolean isShouldHideKeyboard(View v, MotionEvent event) {
if (v != null && (v instanceof EditText)) {
int[] l = {0, 0};
v.getLocationInWindow(l);
int left = l[0],
top = l[1],
bottom = top + v.getHeight(),
right = left + v.getWidth();
return !(event.getX() > left && event.getX() < right
&& event.getY() > top && event.getY() < bottom);
}
return false;
}
}
......@@ -2,19 +2,19 @@ package com.xingdata.zzdpos.ui.statistics;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.databinding.DataBindingUtil;
import android.graphics.Paint;
import android.support.v7.widget.LinearLayoutManager;
import android.util.TimeUtils;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import com.alibaba.fastjson.JSON;
import com.blankj.utilcode.util.ToastUtils;
import com.google.gson.Gson;
import com.xingdata.api.print.ZX_PrintPOS;
import com.xingdata.zzdpos.C;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
import com.xingdata.zzdpos.databinding.ActivityStatisticsDetailBinding;
......@@ -26,7 +26,6 @@ import com.xingdata.zzdpos.databinding.ViewVipRechargeBinding;
import com.xingdata.zzdpos.model.Cs;
import com.xingdata.zzdpos.model.Saledetail;
import com.xingdata.zzdpos.model.Saleorder;
import com.xingdata.zzdpos.model.Salepay;
import com.xingdata.zzdpos.model.Ticket;
import com.xingdata.zzdpos.model.VipRechargeOrder;
import com.xingdata.zzdpos.ui.dialog.LoadingDialog;
......@@ -35,11 +34,9 @@ import com.xingdata.zzdpos.ui.manage.inventory.adpter.InventoryDetailAdapter;
import com.xingdata.zzdpos.util.ConvertUtil;
import com.xingdata.zzdpos.util.OnClickListener;
import java.util.ArrayList;
import java.util.List;
public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPresenter, ActivityStatisticsDetailBinding> implements StatisticsDetailContract.View {
public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPresenter,
ActivityStatisticsDetailBinding> implements StatisticsDetailContract.View {
LoadingDialog mLoadingDialog = new LoadingDialog();
......@@ -64,7 +61,8 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPrese
private void initData() {
if (getIntent().getExtras() != null) {
Long data = getIntent().getLongExtra(Saleorder.class.getName(), -1);
VipRechargeOrder vipRechargeOrder = (VipRechargeOrder) getIntent().getSerializableExtra(VipRechargeOrder.class.getName());
VipRechargeOrder vipRechargeOrder = (VipRechargeOrder) getIntent()
.getSerializableExtra(VipRechargeOrder.class.getName());
Ticket ticket = (Ticket) getIntent().getSerializableExtra(Ticket.class.getName());
Cs cs = (Cs) getIntent().getSerializableExtra(Cs.class.getName());
if (data > 0) {
......@@ -95,9 +93,11 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPrese
private void getTicketSuss(Ticket ticket) {
mViewBinding.llBottom.setVisibility(View.GONE);
mViewBinding.viewTicket.getViewStub().inflate();
ViewTicketBinding viewTicketBinding = DataBindingUtil.bind(mViewBinding.viewTicket.getRoot());
ViewTicketBinding viewTicketBinding = DataBindingUtil.bind(mViewBinding.viewTicket
.getRoot());
viewTicketBinding.tvAmt.setText(ConvertUtil.fenToYuan(ticket.getTicketValAmt(), true));
viewTicketBinding.setDate(com.blankj.utilcode.util.TimeUtils.date2String(ticket.getUpdateTime()));
viewTicketBinding.setDate(com.blankj.utilcode.util.TimeUtils.date2String(ticket
.getUpdateTime()));
viewTicketBinding.setOrderNo(ticket.getUseOrderNo());
viewTicketBinding.setVipName(ticket.getVipName());
......@@ -106,14 +106,18 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPrese
private void getCsSuss(Cs cs) {
mViewBinding.viewCs.getViewStub().inflate();
ViewInventoryDetailBinding viewInventoryDetailBinding = DataBindingUtil.bind(mViewBinding.viewCs.getRoot());
viewInventoryDetailBinding.replenishmentLeftRecycler.setLayoutManager(new LinearLayoutManager(this));
InventoryDetailAdapter mInventoryDetailAdapter = new InventoryDetailAdapter(cs.getCsdetailList());
ViewInventoryDetailBinding viewInventoryDetailBinding = DataBindingUtil.bind(mViewBinding
.viewCs.getRoot());
viewInventoryDetailBinding.replenishmentLeftRecycler.setLayoutManager(new
LinearLayoutManager(this));
InventoryDetailAdapter mInventoryDetailAdapter = new InventoryDetailAdapter(cs
.getCsdetailList());
viewInventoryDetailBinding.replenishmentLeftRecycler.setAdapter(mInventoryDetailAdapter);
mViewBinding.btnPrint.setText("取消");
mViewBinding.btnReturn.setText("打印清单");
viewInventoryDetailBinding.setOperName(cs.getOperName());
viewInventoryDetailBinding.setDate(com.blankj.utilcode.util.TimeUtils.millis2String(cs.getCreateTime()));
viewInventoryDetailBinding.setDate(com.blankj.utilcode.util.TimeUtils.millis2String(cs
.getCreateTime()));
viewInventoryDetailBinding.setSumNum(cs.getCount() + "");
switch (cs.getCsResultFlag()) {
case 0:
......@@ -144,14 +148,19 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPrese
private void getVipRechargeOrderSuss(VipRechargeOrder vipRechargeOrder) {
mViewBinding.btnReturn.setVisibility(View.GONE);
mViewBinding.viewVipRecharge.getViewStub().inflate();
ViewVipRechargeBinding viewVipRechargeBinding = DataBindingUtil.bind(mViewBinding.viewVipRecharge.getRoot());
viewVipRechargeBinding.tvAmt.setText(ConvertUtil.fenToYuan(vipRechargeOrder.getCardAmtPay() + vipRechargeOrder.getCardAmtSend(), true));
viewVipRechargeBinding.setDate(com.blankj.utilcode.util.TimeUtils.millis2String(vipRechargeOrder.getCreateTime()));
ViewVipRechargeBinding viewVipRechargeBinding = DataBindingUtil.bind(mViewBinding
.viewVipRecharge.getRoot());
viewVipRechargeBinding.tvAmt.setText(ConvertUtil.fenToYuan(vipRechargeOrder.getCardAmtPay
() + vipRechargeOrder.getCardAmtSend(), true));
viewVipRechargeBinding.setDate(com.blankj.utilcode.util.TimeUtils.millis2String
(vipRechargeOrder.getCreateTime()));
viewVipRechargeBinding.setCardNo(vipRechargeOrder.getCardNo());
viewVipRechargeBinding.setVipName(vipRechargeOrder.getVipName());
viewVipRechargeBinding.setVipTel(vipRechargeOrder.getVipMobile());
viewVipRechargeBinding.setPayAmt(ConvertUtil.fenToYuan(vipRechargeOrder.getCardAmtPay(), false));
viewVipRechargeBinding.setSendAmt(ConvertUtil.fenToYuan(vipRechargeOrder.getCardAmtSend(), false));
viewVipRechargeBinding.setPayAmt(ConvertUtil.fenToYuan(vipRechargeOrder.getCardAmtPay(),
false));
viewVipRechargeBinding.setSendAmt(ConvertUtil.fenToYuan(vipRechargeOrder.getCardAmtSend()
, false));
}
@Override
......@@ -168,20 +177,27 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPrese
@Override
public void getOrderDetailSuss(Saleorder mSaleorder) {
mViewBinding.viewOrderDetail.getViewStub().inflate();
ViewOrderDetailBinding viewOrderDetailBinding = DataBindingUtil.bind(mViewBinding.viewOrderDetail.getRoot());
ViewOrderDetailBinding viewOrderDetailBinding = DataBindingUtil.bind(mViewBinding
.viewOrderDetail.getRoot());
switch (mSaleorder.getOrderStatus()) {
case 9:
viewOrderDetailBinding.tvAmtHint.setText("退货金额");
viewOrderDetailBinding.setPayType(mSaleorder.getSalepay() == null ? "退货" : mSaleorder.getSalepay().getPayName());
viewOrderDetailBinding.setPayType(mSaleorder.getSalepay() == null ? "退货" :
mSaleorder.getSalepay().getPayName());
break;
default:
viewOrderDetailBinding.setPayType(mSaleorder.getSalepay() == null ? "未支付" : mSaleorder.getSalepay().getPayName());
viewOrderDetailBinding.setPayType(mSaleorder.getSalepay() == null ? "未支付" :
mSaleorder.getSalepay().getPayName());
}
viewOrderDetailBinding.tvAmt.setText(ConvertUtil.fenToYuan(mSaleorder.getOrderPayAmt(), true));
viewOrderDetailBinding.setDate(com.blankj.utilcode.util.TimeUtils.millis2String(mSaleorder.getCreateTime()));
viewOrderDetailBinding.tvAmt.setText(ConvertUtil.fenToYuan(mSaleorder.getOrderPayAmt(),
true));
viewOrderDetailBinding.setDate(com.blankj.utilcode.util.TimeUtils.millis2String
(mSaleorder.getCreateTime()));
viewOrderDetailBinding.setOrderNo(mSaleorder.getOrderNo());
viewOrderDetailBinding.setDisAmt(ConvertUtil.fenToYuan(mSaleorder.getOrderReduAmt(), false));
viewOrderDetailBinding.setSumAmt(ConvertUtil.fenToYuan(mSaleorder.getOrderAuthAmt(), false));
viewOrderDetailBinding.setDisAmt(ConvertUtil.fenToYuan(mSaleorder.getOrderReduAmt(),
false));
viewOrderDetailBinding.setSumAmt(ConvertUtil.fenToYuan(mSaleorder.getOrderAuthAmt(),
false));
viewOrderDetailBinding.setOperName(mSaleorder.getOperName());
viewOrderDetailBinding.setGoodsNum(mSaleorder.getOrderCnt() + "");
......@@ -197,18 +213,23 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPrese
for (Saledetail saledetail : mSaleorder.getSaledetailList()) {
View view = LayoutInflater.from(this).inflate(R.layout.item_settle_saledetail, null);
View view = LayoutInflater.from(this).inflate(R.layout.item_settle_saledetail,
null);
view.setPadding(20, 20, 20, 20);
ItemSettleSaledetailBinding itemSettleSaledetailBinding = DataBindingUtil.bind(view);
ItemSettleSaledetailBinding itemSettleSaledetailBinding = DataBindingUtil.bind
(view);
itemSettleSaledetailBinding.tvAmt.setText("¥" + saledetail.getSubtotal());
itemSettleSaledetailBinding.tvCount.setText(saledetail.getCnt());
itemSettleSaledetailBinding.tvPrice.setText("¥" + saledetail.getPrice());
itemSettleSaledetailBinding.tvName.setText(saledetail.getName());
if (saledetail.isDiscount()) {
itemSettleSaledetailBinding.tvInitialPrice.setText(ConvertUtil.fenToYuan(saledetail.getSkuPrice(), true));
itemSettleSaledetailBinding.tvInitialPrice.setText(ConvertUtil.fenToYuan
(saledetail.getSkuPrice(), true));
itemSettleSaledetailBinding.tvInitialPrice.setVisibility(View.VISIBLE);
itemSettleSaledetailBinding.tvInitialPrice.setPaintFlags(itemSettleSaledetailBinding.tvInitialPrice.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
itemSettleSaledetailBinding.tvInitialPrice.setPaintFlags
(itemSettleSaledetailBinding.tvInitialPrice.getPaintFlags() | Paint
.STRIKE_THRU_TEXT_FLAG);
} else {
itemSettleSaledetailBinding.tvInitialPrice.setVisibility(View.GONE);
}
......@@ -217,7 +238,8 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPrese
}
viewOrderDetailBinding.tvGoodslistTitle.setOnClickListener(view -> {
viewOrderDetailBinding.tvGoodslistTitle.setCompoundDrawables(null, null, null, null);
viewOrderDetailBinding.tvGoodslistTitle.setCompoundDrawables(null, null, null,
null);
viewOrderDetailBinding.tvGoodslistTitle.setClickable(false);
viewOrderDetailBinding.llGoodsList.setVisibility(View.VISIBLE);
});
......@@ -225,7 +247,9 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPrese
mViewBinding.btnReturn.setOnClickListener(new OnClickListener() {
@Override
protected void myOnClickListener(View v) {
new AlertDialog.Builder(StatisticsDetailActivity.this).setTitle("确认退货").setNegativeButton("取消", null).setPositiveButton("确认", new DialogInterface.OnClickListener() {
new AlertDialog.Builder(StatisticsDetailActivity.this).setTitle("确认退货")
.setNegativeButton("取消", null).setPositiveButton("确认", new
DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
mPresenter.returnOrder(mSaleorder.getOrderNo() + "");
......@@ -255,4 +279,34 @@ public class StatisticsDetailActivity extends BaseActivity<StatisticsDetailPrese
public void returnOrderSuss() {
finish();
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View v = getCurrentFocus();
if (isShouldHideKeyboard(v, ev)) {
InputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS
);
}
}
return super.dispatchTouchEvent(ev);
}
// 根据 EditText 所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘
private boolean isShouldHideKeyboard(View v, MotionEvent event) {
if (v != null && (v instanceof EditText)) {
int[] l = {0, 0};
v.getLocationInWindow(l);
int left = l[0],
top = l[1],
bottom = top + v.getHeight(),
right = left + v.getWidth();
return !(event.getX() > left && event.getX() < right
&& event.getY() > top && event.getY() < bottom);
}
return false;
}
}
......@@ -3,10 +3,14 @@ package com.xingdata.zzdpos.ui.store;
import android.animation.Keyframe;
import android.animation.ObjectAnimator;
import android.animation.PropertyValuesHolder;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import com.blankj.utilcode.constant.PermissionConstants;
import com.blankj.utilcode.util.ActivityUtils;
......@@ -34,7 +38,8 @@ import java.util.ArrayList;
import java.util.List;
public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBinding> implements StoreContract.View {
public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBinding> implements
StoreContract.View {
private StoreFragment mStoreFragment = new StoreFragment();
private SearchFragment mSearchFragment = new SearchFragment();
......@@ -65,7 +70,8 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
return false;
});
mViewBinding.btnScan.setOnClickListener(view -> PermissionUtils.permission(PermissionConstants.CAMERA)
mViewBinding.btnScan.setOnClickListener(view -> PermissionUtils.permission
(PermissionConstants.CAMERA)
.callback(new PermissionUtils.FullCallback() {
@Override
public void onGranted(List<String> permissionsGranted) {
......@@ -73,7 +79,8 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
}
@Override
public void onDenied(List<String> permissionsDeniedForever, List<String> permissionsDenied) {
public void onDenied(List<String> permissionsDeniedForever, List<String>
permissionsDenied) {
}
})
.request());
......@@ -189,7 +196,8 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
* @param scaleLarge 放大比例
* @param duration 时间
*/
private void startShakeByPropertyAnim(View view, float scaleSmall, float scaleLarge, long duration) {
private void startShakeByPropertyAnim(View view, float scaleSmall, float scaleLarge, long
duration) {
if (view == null) {
return;
}
......@@ -208,8 +216,39 @@ public class StoreActivity extends BaseActivity<StorePresenter, ActivityStoreBin
Keyframe.ofFloat(0.75f, scaleLarge),
Keyframe.ofFloat(1.0f, 1.0f)
);
ObjectAnimator objectAnimator = ObjectAnimator.ofPropertyValuesHolder(view, scaleXValuesHolder, scaleYValuesHolder);
ObjectAnimator objectAnimator = ObjectAnimator.ofPropertyValuesHolder(view,
scaleXValuesHolder, scaleYValuesHolder);
objectAnimator.setDuration(duration);
objectAnimator.start();
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View v = getCurrentFocus();
if (isShouldHideKeyboard(v, ev)) {
InputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS
);
}
}
return super.dispatchTouchEvent(ev);
}
// 根据 EditText 所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘
private boolean isShouldHideKeyboard(View v, MotionEvent event) {
if (v != null && (v instanceof EditText)) {
int[] l = {0, 0};
v.getLocationInWindow(l);
int left = l[0],
top = l[1],
bottom = top + v.getHeight(),
right = left + v.getWidth();
return !(event.getX() > left && event.getX() < right
&& event.getY() > top && event.getY() < bottom);
}
return false;
}
}
package com.xingdata.zzdpos.ui.vip;
import android.content.Context;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
import com.xingdata.zzdpos.R;
import com.xingdata.zzdpos.base.BaseActivity;
......@@ -17,13 +21,12 @@ import com.xingdata.zzdpos.model.Trule;
import com.xingdata.zzdpos.model.Vip;
import com.xingdata.zzdpos.model.VipRechargeOrder;
import com.xingdata.zzdpos.ui.dialog.PromptDialog;
import com.xingdata.zzdpos.ui.vip.fragment.VipInfoEditFragment;
import com.xingdata.zzdpos.ui.vip.fragment.VipListFragment;
import com.xingdata.zzdpos.view.ViewTools;
import java.util.List;
public class VipActivity extends BaseActivity<VipPresenter, ActivityVipBinding> implements VipContract.View {
public class VipActivity extends BaseActivity<VipPresenter, ActivityVipBinding> implements
VipContract.View {
private Bundle mBundle;
@Override
......@@ -94,7 +97,8 @@ public class VipActivity extends BaseActivity<VipPresenter, ActivityVipBinding>
@Override
public void rechangeErr(Vip vip, Long amtPay, Long amtSend, String mes) {
PromptDialog promptDialog = new PromptDialog();
promptDialog.setDialogType(PromptDialog.PROMPTDIALOG_ERROR, "支付失败").setCustomButton("重新支付", new View.OnClickListener() {
promptDialog.setDialogType(PromptDialog.PROMPTDIALOG_ERROR, "支付失败").setCustomButton
("重新支付", new View.OnClickListener() {
@Override
public void onClick(View view) {
mPresenter.fullVip(vip, amtPay, amtSend);
......@@ -118,4 +122,33 @@ public class VipActivity extends BaseActivity<VipPresenter, ActivityVipBinding>
mPresenter.vipListFragment.getVipNumberSus(sta);
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
View v = getCurrentFocus();
if (isShouldHideKeyboard(v, ev)) {
InputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(),
InputMethodManager.HIDE_NOT_ALWAYS
);
}
}
return super.dispatchTouchEvent(ev);
}
// 根据 EditText 所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘
private boolean isShouldHideKeyboard(View v, MotionEvent event) {
if (v != null && (v instanceof EditText)) {
int[] l = {0, 0};
v.getLocationInWindow(l);
int left = l[0],
top = l[1],
bottom = top + v.getHeight(),
right = left + v.getWidth();
return !(event.getX() > left && event.getX() < right
&& event.getY() > top && event.getY() < bottom);
}
return false;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment