You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by gu...@apache.org on 2017/10/18 07:57:34 UTC
[1/4] incubator-weex git commit: * [android] fix flicker caused by
coexistence of box-shadow and border-radius
Repository: incubator-weex
Updated Branches:
refs/heads/release-0.16 db5b1e046 -> 64dd40bc3
* [android] fix flicker caused by coexistence of box-shadow and border-radius
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/e777ac8d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/e777ac8d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/e777ac8d
Branch: refs/heads/release-0.16
Commit: e777ac8dd8f02805c5adee19364d87ee5c40bf9d
Parents: 045e838
Author: misakuo <mi...@apache.org>
Authored: Tue Oct 10 18:20:24 2017 +0800
Committer: misakuo <mi...@apache.org>
Committed: Tue Oct 10 18:20:24 2017 +0800
----------------------------------------------------------------------
.../taobao/weex/ui/component/WXComponent.java | 25 +++++++-------------
.../taobao/weex/ui/component/WXVContainer.java | 25 +++++++++++++++++++-
2 files changed, 33 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e777ac8d/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 d801290..74e4db4 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
@@ -759,22 +759,9 @@ public abstract class WXComponent<T extends View> implements IWXObject, IWXActi
case Constants.Name.BORDER_TOP_RIGHT_RADIUS:
case Constants.Name.BORDER_BOTTOM_RIGHT_RADIUS:
case Constants.Name.BORDER_BOTTOM_LEFT_RADIUS:
- final Float radius = WXUtils.getFloat(param,null);
- final String finalKey = key;
+ Float radius = WXUtils.getFloat(param,null);
if (radius != null) {
- if (this instanceof WXDiv && mHost != null) {
- /* Hacked by moxun
- Set border radius on ViewGroup will cause the Overlay to be cut and don't know why
- Delay setting border radius can avoid the problem, and don't know why too, dog science…… */
- mHost.postDelayed(new Runnable() {
- @Override
- public void run() {
- setBorderRadius(finalKey, radius);
- }
- }, 64);
- } else {
- setBorderRadius(finalKey, radius);
- }
+ setBorderRadius(key, radius);
}
return true;
case Constants.Name.BORDER_WIDTH:
@@ -898,7 +885,13 @@ public abstract class WXComponent<T extends View> implements IWXObject, IWXActi
}
}
}
- BoxShadowUtil.setBoxShadow(mHost, boxShadow.toString(), radii, getInstance().getInstanceViewPortWidth());
+
+ View target = mHost;
+ if (this instanceof WXVContainer) {
+ target = ((WXVContainer) this).getBoxShadowHost();
+ }
+
+ BoxShadowUtil.setBoxShadow(target, boxShadow.toString(), radii, getInstance().getInstanceViewPortWidth());
} else {
WXLogUtils.w("Can not resolve styles");
}
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e777ac8d/android/sdk/src/main/java/com/taobao/weex/ui/component/WXVContainer.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXVContainer.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXVContainer.java
index 43b45a7..4570729 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXVContainer.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXVContainer.java
@@ -18,15 +18,19 @@
*/
package com.taobao.weex.ui.component;
+import android.content.Context;
import android.content.Intent;
-import android.util.Pair;
import android.support.annotation.Nullable;
+import android.util.Pair;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
+
import com.taobao.weex.WXSDKInstance;
import com.taobao.weex.common.Constants;
import com.taobao.weex.dom.WXDomObject;
+import com.taobao.weex.utils.WXViewUtils;
+
import java.util.ArrayList;
/**
@@ -36,6 +40,7 @@ public abstract class WXVContainer<T extends ViewGroup> extends WXComponent<T> {
private static final String TAG="WXVContainer";
protected ArrayList<WXComponent> mChildren = new ArrayList<>();
+ private BoxShadowHost mBoxShadowHost;
@Deprecated
public WXVContainer(WXSDKInstance instance, WXDomObject dom, WXVContainer parent, String instanceId, boolean isLazy) {
@@ -474,4 +479,22 @@ public abstract class WXVContainer<T extends ViewGroup> extends WXComponent<T> {
/********************************
* end hook Activity life cycle callback
********************************************************/
+
+ public @Nullable View getBoxShadowHost() {
+ if (mBoxShadowHost == null) {
+ mBoxShadowHost = new BoxShadowHost(getContext());
+ WXViewUtils.setBackGround(mBoxShadowHost, null);
+ mBoxShadowHost.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
+ getHostView().addView(mBoxShadowHost);
+ }
+ getHostView().removeView(mBoxShadowHost);
+ getHostView().addView(mBoxShadowHost);
+ return mBoxShadowHost;
+ }
+
+ private class BoxShadowHost extends View {
+ public BoxShadowHost(Context context) {
+ super(context);
+ }
+ }
}
[2/4] incubator-weex git commit: * [android] fix shadow remains after
component size changed
Posted by gu...@apache.org.
* [android] fix shadow remains after component size changed
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/d5731c2c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/d5731c2c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/d5731c2c
Branch: refs/heads/release-0.16
Commit: d5731c2caceb94f6b7cd942ae50683b38846d3c1
Parents: e777ac8
Author: misakuo <mi...@apache.org>
Authored: Wed Oct 11 18:10:48 2017 +0800
Committer: misakuo <mi...@apache.org>
Committed: Wed Oct 11 18:10:48 2017 +0800
----------------------------------------------------------------------
.../taobao/weex/ui/component/WXComponent.java | 29 ++++++++++++++++----
1 file changed, 24 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/d5731c2c/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 74e4db4..3c0c870 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
@@ -509,6 +509,8 @@ public abstract class WXComponent<T extends View> implements IWXObject, IWXActi
setWidgetParams(widget, UIImp, rawOffset, realWidth, realHeight, realLeft, realRight, realTop,
realBottom);
} else if (mHost != null) {
+ // clear box shadow before host's size changed
+ clearBoxShadow();
if (mDomObj.isFixed()) {
setFixedHostLayoutParams(mHost, realWidth, realHeight, realLeft, realRight, realTop,
realBottom);
@@ -520,6 +522,8 @@ public abstract class WXComponent<T extends View> implements IWXObject, IWXActi
mPreRealLeft = realLeft;
mPreRealTop = realTop;
onFinishLayout();
+ // restore box shadow
+ updateBoxShadow();
}
}
@@ -859,6 +863,15 @@ public abstract class WXComponent<T extends View> implements IWXObject, IWXActi
return;
}
+ View target = mHost;
+ if (this instanceof WXVContainer) {
+ target = ((WXVContainer) this).getBoxShadowHost();
+ }
+
+ if (target == null) {
+ return;
+ }
+
float[] radii = new float[] {0, 0, 0, 0, 0, 0, 0, 0};
WXStyle style = getDomObject().getStyles();
if (style != null) {
@@ -886,17 +899,23 @@ public abstract class WXComponent<T extends View> implements IWXObject, IWXActi
}
}
- View target = mHost;
- if (this instanceof WXVContainer) {
- target = ((WXVContainer) this).getBoxShadowHost();
- }
-
BoxShadowUtil.setBoxShadow(target, boxShadow.toString(), radii, getInstance().getInstanceViewPortWidth());
} else {
WXLogUtils.w("Can not resolve styles");
}
}
+ protected void clearBoxShadow() {
+ View target = mHost;
+ if (this instanceof WXVContainer) {
+ target = ((WXVContainer) this).getBoxShadowHost();
+ }
+
+ if (target != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
+ target.getOverlay().clear();
+ }
+ }
+
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
protected void setAriaHidden(boolean isHidden) {
View host = getHostView();
[3/4] incubator-weex git commit: * [android] null judgement
Posted by gu...@apache.org.
* [android] null judgement
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/61ead2a4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/61ead2a4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/61ead2a4
Branch: refs/heads/release-0.16
Commit: 61ead2a4226ee0f17863d4c10699167b265fa0ae
Parents: d5731c2
Author: misakuo <mi...@apache.org>
Authored: Wed Oct 11 19:44:16 2017 +0800
Committer: misakuo <mi...@apache.org>
Committed: Wed Oct 11 19:44:16 2017 +0800
----------------------------------------------------------------------
.../main/java/com/taobao/weex/ui/component/WXComponent.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/61ead2a4/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 3c0c870..add0205 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
@@ -43,6 +43,7 @@ import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.MarginLayoutParams;
+import android.view.ViewOverlay;
import android.widget.FrameLayout;
import com.alibaba.fastjson.JSONArray;
@@ -912,7 +913,10 @@ public abstract class WXComponent<T extends View> implements IWXObject, IWXActi
}
if (target != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
- target.getOverlay().clear();
+ ViewOverlay overlay = target.getOverlay();
+ if (overlay != null) {
+ overlay.clear();
+ }
}
}
[4/4] incubator-weex git commit: * [android] fix flicker caused by
coexistence of box-shadow and border
Posted by gu...@apache.org.
* [android] fix flicker caused by coexistence of box-shadow and border
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/64dd40bc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/64dd40bc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/64dd40bc
Branch: refs/heads/release-0.16
Commit: 64dd40bc346295c32675a794c79d23e6aa8b693c
Parents: db5b1e0 61ead2a
Author: gurisxie <27...@qq.com>
Authored: Wed Oct 18 15:56:38 2017 +0800
Committer: gurisxie <27...@qq.com>
Committed: Wed Oct 18 15:57:08 2017 +0800
----------------------------------------------------------------------
.../taobao/weex/ui/component/WXComponent.java | 48 +++++++++++++-------
.../taobao/weex/ui/component/WXVContainer.java | 25 +++++++++-
2 files changed, 56 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/64dd40bc/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
----------------------------------------------------------------------