Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
T
TangKuPos
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王海
TangKuPos
Commits
d68aac24
Commit
d68aac24
authored
Jan 18, 2018
by
王海
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增点击空白 收起软键盘
parent
6981a800
Changes
16
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
633 additions
and
95 deletions
+633
-95
app/src/main/java/com/xingdata/zzdpos/ui/manage/otherselect/OtherSelectActivity.java
...ata/zzdpos/ui/manage/otherselect/OtherSelectActivity.java
+40
-4
app/src/main/java/com/xingdata/zzdpos/ui/manage/replenishment/ReplenishmentActivity.java
...zzdpos/ui/manage/replenishment/ReplenishmentActivity.java
+42
-8
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/SsskuActivity.java
...va/com/xingdata/zzdpos/ui/manage/sssku/SsskuActivity.java
+37
-1
app/src/main/java/com/xingdata/zzdpos/ui/manage/user/UserActivity.java
...java/com/xingdata/zzdpos/ui/manage/user/UserActivity.java
+36
-18
app/src/main/java/com/xingdata/zzdpos/ui/marketing/integral/IntegralActivity.java
...ngdata/zzdpos/ui/marketing/integral/IntegralActivity.java
+33
-2
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/MsActivity.java
.../java/com/xingdata/zzdpos/ui/marketing/ms/MsActivity.java
+36
-1
app/src/main/java/com/xingdata/zzdpos/ui/marketing/recharge/RechargeRuleActivity.java
...ta/zzdpos/ui/marketing/recharge/RechargeRuleActivity.java
+33
-0
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ticket/ReturnTicketActivity.java
...data/zzdpos/ui/marketing/ticket/ReturnTicketActivity.java
+36
-0
app/src/main/java/com/xingdata/zzdpos/ui/marketing/viplevel/LevelActivity.java
.../xingdata/zzdpos/ui/marketing/viplevel/LevelActivity.java
+36
-18
app/src/main/java/com/xingdata/zzdpos/ui/payment/PaymentActivity.java
.../java/com/xingdata/zzdpos/ui/payment/PaymentActivity.java
+34
-0
app/src/main/java/com/xingdata/zzdpos/ui/sendticke/SendTicketActivity.java
.../com/xingdata/zzdpos/ui/sendticke/SendTicketActivity.java
+35
-0
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettleActivity.java
...in/java/com/xingdata/zzdpos/ui/settle/SettleActivity.java
+33
-0
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsActivity.java
...com/xingdata/zzdpos/ui/statistics/StatisticsActivity.java
+33
-0
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsDetailActivity.java
...ngdata/zzdpos/ui/statistics/StatisticsDetailActivity.java
+88
-34
app/src/main/java/com/xingdata/zzdpos/ui/store/StoreActivity.java
...main/java/com/xingdata/zzdpos/ui/store/StoreActivity.java
+44
-5
app/src/main/java/com/xingdata/zzdpos/ui/vip/VipActivity.java
...src/main/java/com/xingdata/zzdpos/ui/vip/VipActivity.java
+37
-4
No files found.
app/src/main/java/com/xingdata/zzdpos/ui/manage/otherselect/OtherSelectActivity.java
View file @
d68aac24
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
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/manage/replenishment/ReplenishmentActivity.java
View file @
d68aac24
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
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/manage/sssku/SsskuActivity.java
View file @
d68aac24
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
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/manage/user/UserActivity.java
View file @
d68aac24
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
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/marketing/integral/IntegralActivity.java
View file @
d68aac24
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
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/MsActivity.java
View file @
d68aac24
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
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/marketing/recharge/RechargeRuleActivity.java
View file @
d68aac24
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
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ticket/ReturnTicketActivity.java
View file @
d68aac24
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
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/marketing/viplevel/LevelActivity.java
View file @
d68aac24
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
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/payment/PaymentActivity.java
View file @
d68aac24
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
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/sendticke/SendTicketActivity.java
View file @
d68aac24
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
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettleActivity.java
View file @
d68aac24
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
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsActivity.java
View file @
d68aac24
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
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/statistics/StatisticsDetailActivity.java
View file @
d68aac24
This diff is collapsed.
Click to expand it.
app/src/main/java/com/xingdata/zzdpos/ui/store/StoreActivity.java
View file @
d68aac24
...
...
@@ -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
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/vip/VipActivity.java
View file @
d68aac24
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
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment