You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by so...@apache.org on 2017/03/13 10:07:01 UTC

[2/2] incubator-weex git commit: * [android] input/textarea always consume touch event

 * [android] input/textarea always consume touch event


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/d876e670
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/d876e670
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/d876e670

Branch: refs/heads/0.11-dev
Commit: d876e670c496a8be22e6137b2125a4919e4ef9d8
Parents: f8560bf
Author: sospartan <so...@gmail.com>
Authored: Mon Mar 13 17:35:45 2017 +0800
Committer: sospartan <so...@gmail.com>
Committed: Mon Mar 13 17:41:52 2017 +0800

----------------------------------------------------------------------
 .../taobao/weex/ui/component/AbstractEditComponent.java |  6 ++++++
 .../java/com/taobao/weex/ui/component/WXComponent.java  | 12 +++++++++++-
 2 files changed, 17 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/d876e670/android/sdk/src/main/java/com/taobao/weex/ui/component/AbstractEditComponent.java
----------------------------------------------------------------------
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 d9d99c6..7d98b23 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
@@ -282,6 +282,12 @@ public abstract class AbstractEditComponent extends WXComponent<WXEditText> {
     });
   }
 
+  @Override
+  protected boolean isConsumeTouch() {
+    //EditText always consume touch event except disabled.
+    return !isDisabled();
+  }
+
   private void applyOnClickListener() {
     addClickListener(new OnClickListener() {
       @Override

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/d876e670/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
----------------------------------------------------------------------
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 5e7adc8..88f4c80 100755
--- 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
@@ -226,6 +226,7 @@ public abstract class  WXComponent<T extends View> implements IWXObject, IWXActi
   private WXAnimationModule.AnimationHolder mAnimationHolder;
   private PesudoStatus mPesudoStatus = new PesudoStatus();
   private boolean mIsDestroyed = false;
+  private boolean mIsDisabled = false;
 
   //Holding the animation bean when component is uninitialized
   public void postAnimation(WXAnimationModule.AnimationHolder holder) {
@@ -1091,12 +1092,17 @@ public abstract class  WXComponent<T extends View> implements IWXObject, IWXActi
   }
 
   public void setDisabled(boolean disabled) {
+    mIsDisabled = disabled;
     if (mHost == null) {
       return;
     }
     mHost.setEnabled(!disabled);
   }
 
+  public boolean isDisabled(){
+    return mIsDisabled;
+  }
+
   public void setSticky(String sticky) {
     if (!TextUtils.isEmpty(sticky) && sticky.equals(Constants.Value.STICKY)) {
       Scrollable waScroller = getParentScroller();
@@ -1433,11 +1439,15 @@ public abstract class  WXComponent<T extends View> implements IWXObject, IWXActi
     boolean hasActivePesudo = mDomObj.getStyles().getPesudoStyles().containsKey(Constants.PSEUDO.ACTIVE);
     View view;
     if(hasActivePesudo && (view = getRealView()) != null) {
-      boolean hasTouchConsumer = (mHostClickListeners != null && mHostClickListeners.size() > 0) || mGesture != null;
+      boolean hasTouchConsumer = isConsumeTouch();
       view.setOnTouchListener(new TouchActivePseudoListener(this,!hasTouchConsumer));
     }
   }
 
+  protected boolean isConsumeTouch(){
+    return (mHostClickListeners != null && mHostClickListeners.size() > 0) || mGesture != null;
+  }
+
   @Override
   public void updateActivePseudo(boolean isSet) {
     setPseudoClassStatus(Constants.PSEUDO.ACTIVE,isSet);