You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by mi...@apache.org on 2018/04/28 02:45:53 UTC
[1/5] incubator-weex git commit: [android] Fix the display problem of
the box-shadow property of the scroller component
Repository: incubator-weex
Updated Branches:
refs/heads/master 9e6b5f5ff -> 62439cae0
[android] Fix the display problem of the box-shadow property of the scroller component
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/73062333
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/73062333
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/73062333
Branch: refs/heads/master
Commit: 73062333b8c05a34c707c572279da0655ba55c13
Parents: 42aa126
Author: 刘坡 <li...@autonavi.com>
Authored: Mon Mar 12 14:33:35 2018 +0800
Committer: 刘坡 <li...@autonavi.com>
Committed: Mon Mar 12 14:33:35 2018 +0800
----------------------------------------------------------------------
.../java/com/taobao/weex/utils/BoxShadowUtil.java | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/73062333/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java b/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java
index 288be62..2796b32 100644
--- a/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java
+++ b/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java
@@ -392,19 +392,23 @@ public class BoxShadowUtil {
setBounds(-paddingX, -paddingY, viewRect.width() + paddingX, viewRect.height() + paddingY);
}
- @Override
public void draw(Canvas canvas) {
- Rect newRect = canvas.getClipBounds();
+ Rect bounds = canvas.getClipBounds();
+ Rect newRect = new Rect(bounds);
// Make the Canvas Rect bigger according to the padding.
newRect.inset(-paddingX * 2, -paddingY * 2);
canvas.clipRect(newRect, Region.Op.REPLACE);
Path contentPath = new Path();
- RectF rectF = new RectF(0f, 0f, viewRect.width(), viewRect.height());
+ // the content area map must be aligned with bounds
+ RectF rectF = new RectF(bounds);
contentPath.addRoundRect(rectF, radii, Path.Direction.CCW);
// can not antialias
canvas.clipPath(contentPath, Region.Op.DIFFERENCE);
+ // translate the canvas to a suitable position and then draw the bitmap, otherwise draw from the origin(0, 0)
+ canvas.translate(bounds.left, bounds.top);
+
super.draw(canvas);
}
}
@@ -517,12 +521,16 @@ public class BoxShadowUtil {
@Override
public void draw(Canvas canvas) {
+ Rect bounds = canvas.getClipBounds();
Path border = new Path();
- RectF rectF = new RectF(0, 0, canvas.getWidth(), canvas.getHeight());
+ RectF rectF = new RectF(bounds);
border.addRoundRect(rectF, radii, Path.Direction.CCW);
canvas.clipPath(border);
//TODO: we need clip border-width too
+ // translate the canvas to the right place and then draw the inner shadow
+ canvas.translate(bounds.left, bounds.top);
+
for (int i = 0; i < 4; i++) {
Shader shader = shades[i];
Path path = paths[i];
[5/5] incubator-weex git commit: Merge remote-tracking branch
'upstream/pr1114' into apache-master
Posted by mi...@apache.org.
Merge remote-tracking branch 'upstream/pr1114' into apache-master
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/62439cae
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/62439cae
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/62439cae
Branch: refs/heads/master
Commit: 62439cae0be8689dec47dad5ca1189a7f48eb8bf
Parents: 467840a ee16722
Author: misakuo <mi...@apache.org>
Authored: Sat Apr 28 10:45:43 2018 +0800
Committer: misakuo <mi...@apache.org>
Committed: Sat Apr 28 10:45:43 2018 +0800
----------------------------------------------------------------------
.../com/taobao/weex/ui/component/WXVContainer.java | 17 ++++++++++++++++-
.../java/com/taobao/weex/utils/BoxShadowUtil.java | 6 ++++--
test/pages/css/border.vue | 9 +++++++++
3 files changed, 29 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/62439cae/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java
----------------------------------------------------------------------
[4/5] incubator-weex git commit: Merge remote-tracking branch
'upstream/pr1064' into apache-master
Posted by mi...@apache.org.
Merge remote-tracking branch 'upstream/pr1064' into apache-master
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/467840a1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/467840a1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/467840a1
Branch: refs/heads/master
Commit: 467840a12fa272427617e6d044d47324a24a2eab
Parents: 9e6b5f5 7306233
Author: misakuo <mi...@apache.org>
Authored: Sat Apr 28 10:45:20 2018 +0800
Committer: misakuo <mi...@apache.org>
Committed: Sat Apr 28 10:45:20 2018 +0800
----------------------------------------------------------------------
.../java/com/taobao/weex/utils/BoxShadowUtil.java | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/467840a1/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java
----------------------------------------------------------------------
[3/5] incubator-weex git commit: * [test] add box-shadow test case
Posted by mi...@apache.org.
* [test] add box-shadow test case
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/ee167224
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/ee167224
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/ee167224
Branch: refs/heads/master
Commit: ee167224ff06e80a85141a305b80550d251a7481
Parents: 46cdd0e
Author: Yanjiie <su...@163.com>
Authored: Tue Apr 17 10:04:12 2018 +0800
Committer: Yanjiie <su...@163.com>
Committed: Tue Apr 17 10:04:12 2018 +0800
----------------------------------------------------------------------
test/pages/css/border.vue | 9 +++++++++
1 file changed, 9 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/ee167224/test/pages/css/border.vue
----------------------------------------------------------------------
diff --git a/test/pages/css/border.vue b/test/pages/css/border.vue
index 804669f..3e7ea51 100644
--- a/test/pages/css/border.vue
+++ b/test/pages/css/border.vue
@@ -53,6 +53,7 @@
<text class="boxShadow1"></text>
<text class="boxShadow2"></text>
<text class="boxShadow3"></text>
+ <text class="boxShadow4"></text>
<text test-id="test-text">box shadow</text>
</div>
<div class="container">
@@ -305,6 +306,14 @@
border-bottom-right-radius: 50px;
margin:30px;
}
+.boxShadow4 {
+ width: 100px;
+ height: 45px;
+ background-color: red;
+ box-shadow: 0px 0px 10px 0px green;
+ padding: 20px;
+ border-width: 5px;
+}
.circle {
width: 100px;
[2/5] incubator-weex git commit: * [android] fix box-shadow size
should cover padding and border
Posted by mi...@apache.org.
* [android] fix box-shadow size should cover padding 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/46cdd0e0
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/46cdd0e0
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/46cdd0e0
Branch: refs/heads/master
Commit: 46cdd0e0265368cd6b4eb13e6954c5e03c207736
Parents: ea2e12f
Author: Yanjiie <su...@163.com>
Authored: Tue Apr 17 09:37:58 2018 +0800
Committer: Yanjiie <su...@163.com>
Committed: Tue Apr 17 09:37:58 2018 +0800
----------------------------------------------------------------------
.../com/taobao/weex/ui/component/WXVContainer.java | 17 ++++++++++++++++-
.../java/com/taobao/weex/utils/BoxShadowUtil.java | 6 ++++--
2 files changed, 20 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/46cdd0e0/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 635b8e4..2bb4703 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
@@ -29,11 +29,13 @@ import android.util.Pair;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.FrameLayout;
import com.taobao.weex.WXSDKInstance;
import com.taobao.weex.annotation.JSMethod;
import com.taobao.weex.common.Constants;
import com.taobao.weex.dom.WXDomObject;
+import com.taobao.weex.dom.flex.Spacing;
import com.taobao.weex.ui.view.WXImageView;
import com.taobao.weex.utils.WXLogUtils;
import com.taobao.weex.utils.WXUtils;
@@ -596,7 +598,20 @@ public abstract class WXVContainer<T extends ViewGroup> extends WXComponent<T> {
if (mBoxShadowHost == null) {
mBoxShadowHost = new BoxShadowHost(getContext());
WXViewUtils.setBackGround(mBoxShadowHost, null);
- mBoxShadowHost.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
+
+ Spacing padding = this.getDomObject().getPadding();
+ Spacing border = this.getDomObject().getBorder();
+
+ int left = (int) (padding.get(Spacing.LEFT) + border.get(Spacing.LEFT));
+ int top = (int) (padding.get(Spacing.TOP) + border.get(Spacing.TOP));
+ int right = (int) (padding.get(Spacing.RIGHT) + border.get(Spacing.RIGHT));
+ int bottom = (int) (padding.get(Spacing.BOTTOM) + border.get(Spacing.BOTTOM));
+
+ ViewGroup.MarginLayoutParams layoutParams = new ViewGroup.MarginLayoutParams(hostView.getLayoutParams()) ;
+ layoutParams.setMargins(-left, -top, -right, -bottom);
+
+ mBoxShadowHost.setLayoutParams(layoutParams);
+
hostView.addView(mBoxShadowHost);
}
hostView.removeView(mBoxShadowHost);
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/46cdd0e0/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java b/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java
index b4adbb4..dba8b63 100644
--- a/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java
+++ b/android/sdk/src/main/java/com/taobao/weex/utils/BoxShadowUtil.java
@@ -65,12 +65,12 @@ import java.util.regex.Pattern;
public class BoxShadowUtil {
private static final String TAG = "BoxShadowUtil";
- private static boolean sBoxShadowEnabled = false /*disable box-shadow temporary*/;
+ private static boolean sBoxShadowEnabled = true /*disable box-shadow temporary*/;
private static Pattern sColorPattern;
public static void setBoxShadowEnabled(boolean enabled) {
- //sBoxShadowEnabled = enabled;
+ sBoxShadowEnabled = enabled;
WXLogUtils.w(TAG, "Switch box-shadow status: " + enabled);
}
@@ -195,6 +195,8 @@ public class BoxShadowUtil {
int h = target.getHeight();
int w = target.getWidth();
+ ViewGroup.LayoutParams p = target.getLayoutParams();
+
if (h == 0 || w == 0) {
Log.w(TAG, "Target view is invisible, ignore set shadow.");
return;