* [android] Add the ability of changing perspective
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/9715b8d7 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/9715b8d7 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/9715b8d7 Branch: refs/heads/0.16-dev Commit: 9715b8d75e45f89375c27928a49211a1214e3828 Parents: f102f3f Author: YorkShen <shenyua...@gmail.com> Authored: Fri Jul 21 16:44:22 2017 +0800 Committer: YorkShen <shenyua...@gmail.com> Committed: Fri Jul 21 16:44:22 2017 +0800 ---------------------------------------------------------------------- .../sdk/src/main/java/com/taobao/weex/common/Constants.java | 1 + .../main/java/com/taobao/weex/ui/component/WXComponent.java | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9715b8d7/android/sdk/src/main/java/com/taobao/weex/common/Constants.java ---------------------------------------------------------------------- diff --git a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java index f683c99..e24ed22 100644 --- a/android/sdk/src/main/java/com/taobao/weex/common/Constants.java +++ b/android/sdk/src/main/java/com/taobao/weex/common/Constants.java @@ -152,6 +152,7 @@ public class Constants { String OFFSET_X_ACCURACY = "offsetXAccuracy"; String OFFSET_X_RATIO = "offsetXRatio"; String ELEVATION = "elevation"; + String PERSPECTIVE = "perspective"; String SCROLLABLE = "scrollable"; String DRAGGABLE = "draggable"; String DISTANCE_Y = "dy"; http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9715b8d7/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 4099778..3aa549d 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 @@ -48,6 +48,7 @@ import com.taobao.weex.WXSDKInstance; import com.taobao.weex.WXSDKManager; import com.taobao.weex.bridge.Invoker; import com.taobao.weex.common.Constants; +import com.taobao.weex.common.Constants.Name; import com.taobao.weex.common.IWXObject; import com.taobao.weex.common.WXRuntimeException; import com.taobao.weex.dom.ImmutableDomObject; @@ -675,6 +676,8 @@ public abstract class WXComponent<T extends View> implements IWXObject, IWXActi updateElevation(); } return true; + case Name.PERSPECTIVE: + return setPerspective(param); case PROP_FIXED_SIZE: String fixedSize = WXUtils.getString(param, PROP_FS_MATCH_PARENT); setFixedSize(fixedSize); @@ -719,17 +722,20 @@ public abstract class WXComponent<T extends View> implements IWXObject, IWXActi } } - private void setPerspective(Object param) { + private boolean setPerspective(Object param) { T host = getHostView(); + boolean ret = false; if (host != null) { float value = WXUtils.getFloatByViewport(param, getInstance().getInstanceViewPortWidth()); float scale = host.getResources().getDisplayMetrics().density; if (!Float.isNaN(value) && value > 0) { host.setCameraDistance(value * scale); + ret = true; } else { host.setCameraDistance(Float.MAX_VALUE); } } + return ret; } @TargetApi(Build.VERSION_CODES.JELLY_BEAN)