You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by ky...@apache.org on 2019/07/30 09:19:17 UTC
[incubator-weex] branch master updated: [Android] fix interaction
badcase (#2762)
This is an automated email from the ASF dual-hosted git repository.
kyork pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-weex.git
The following commit(s) were added to refs/heads/master by this push:
new 2b9d773 [Android] fix interaction badcase (#2762)
2b9d773 is described below
commit 2b9d773cef2578c1e8e43d525c93535ca3dd1207
Author: chen <lu...@users.noreply.github.com>
AuthorDate: Tue Jul 30 17:19:12 2019 +0800
[Android] fix interaction badcase (#2762)
1. keybord show and input (addview)
2. slider children position fix (inScreen?)
---
.../com/taobao/weex/ui/component/AbstractEditComponent.java | 3 +++
.../main/java/com/taobao/weex/ui/component/WXComponent.java | 10 +++++++++-
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/AbstractEditComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/AbstractEditComponent.java
index c06f611..351ac08 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/AbstractEditComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/AbstractEditComponent.java
@@ -745,6 +745,9 @@ public abstract class AbstractEditComponent extends WXComponent<WXEditText> {
getHostView().postDelayed(WXThread.secure(new Runnable() {
@Override
public void run() {
+ if (getInstance() != null && getInstance().getApmForInstance() != null){
+ getInstance().getApmForInstance().forceStopRecordInteraction = true;
+ }
mInputMethodManager.showSoftInput(getHostView(), InputMethodManager.SHOW_IMPLICIT);
}
}), 100);
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
index 57bbd5c..d3464dd 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
@@ -179,6 +179,8 @@ public abstract class WXComponent<T extends View> extends WXBasicComponent imple
public boolean mIsAddElementToTree = false;
//for fix element case
public int interactionAbsoluteX=0,interactionAbsoluteY=0;
+ //for fix slider case :cssLeft is not real left base parent;
+ protected int mChildrensWidth = 0;
private boolean mHasAddFocusListener = false;
public WXTracing.TraceInfo mTraceInfo = new WXTracing.TraceInfo();
@@ -1068,8 +1070,14 @@ public abstract class WXComponent<T extends View> extends WXBasicComponent imple
}else {
float cssTop = getCSSLayoutTop();
float cssLeft = getCSSLayoutLeft();
- interactionAbsoluteX = (int)(this.isFixed() ? cssLeft : mParent.interactionAbsoluteX + cssLeft);
+ interactionAbsoluteX = (int)(this.isFixed() ? cssLeft : mParent.interactionAbsoluteX + mParent.mChildrensWidth + cssLeft);
interactionAbsoluteY = (int)(this.isFixed() ? cssTop : mParent.interactionAbsoluteY + cssTop);
+ //fix for slider impl ,and interactionTime calculate if component is out screen
+ if (WXBasicComponentType.SLIDER.equalsIgnoreCase(mParent.getComponentType()) || WXBasicComponentType.CYCLE_SLIDER.equalsIgnoreCase(mParent.getComponentType())){
+ if (!WXBasicComponentType.INDICATOR.equalsIgnoreCase(getComponentType())){
+ mParent.mChildrensWidth += (int)(realWidth + cssLeft);
+ }
+ }
}
if (null == getInstance().getApmForInstance().instanceRect){