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/19 10:56:06 UTC
[2/3] incubator-weex git commit: * [android] add box shadow host on
div
* [android] add box shadow host on div
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/05063883
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/05063883
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/05063883
Branch: refs/heads/release-0.16
Commit: 0506388383abf44cd83f4b4e23521e05e9a3d19b
Parents: 9d1e0e0
Author: misakuo <mi...@apache.org>
Authored: Thu Oct 19 17:56:13 2017 +0800
Committer: misakuo <mi...@apache.org>
Committed: Thu Oct 19 17:56:13 2017 +0800
----------------------------------------------------------------------
.../taobao/weex/ui/component/WXVContainer.java | 39 +++++++++++++++++++-
1 file changed, 38 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/05063883/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 f8ccc66..e9263eb 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,6 +18,7 @@
*/
package com.taobao.weex.ui.component;
+import android.content.Context;
import android.content.Intent;
import android.support.annotation.Nullable;
import android.util.Pair;
@@ -28,6 +29,8 @@ 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.WXLogUtils;
+import com.taobao.weex.utils.WXViewUtils;
import java.util.ArrayList;
@@ -38,6 +41,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) {
@@ -478,6 +482,39 @@ public abstract class WXVContainer<T extends ViewGroup> extends WXComponent<T> {
********************************************************/
public @Nullable View getBoxShadowHost(boolean isClear) {
- return getHostView();
+ if (isClear) {
+ // Return existed host if want clear shadow
+ return mBoxShadowHost;
+ }
+
+ ViewGroup hostView = getHostView();
+ if (hostView == null) {
+ return null;
+ }
+
+ try {
+ String type = getDomObject().getType();
+ if (WXBasicComponentType.DIV.equals(type)) {
+ WXLogUtils.d("BoxShadow", "Draw box-shadow with BoxShadowHost on div: " + toString());
+ if (mBoxShadowHost == null) {
+ mBoxShadowHost = new BoxShadowHost(getContext());
+ WXViewUtils.setBackGround(mBoxShadowHost, null);
+ mBoxShadowHost.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
+ hostView.addView(mBoxShadowHost);
+ }
+ hostView.removeView(mBoxShadowHost);
+ hostView.addView(mBoxShadowHost);
+ return mBoxShadowHost;
+ }
+ } catch (Throwable t) {
+ WXLogUtils.w("BoxShadow", t);
+ }
+ return hostView;
+ }
+
+ private class BoxShadowHost extends View {
+ public BoxShadowHost(Context context) {
+ super(context);
+ }
}
}