From aa7318bfbd93e15bbc91098f009375275432a07d Mon Sep 17 00:00:00 2001 From: hyb1996 <946994919@qq.com> Date: Fri, 12 Oct 2018 20:54:48 +0800 Subject: [PATCH] feat(ui): default dimension dp --- app/src/main/assets/sample/复杂界面/登录界面.js | 2 +- .../autojs/core/ui/inflater/util/Dimensions.java | 2 +- .../autojs/core/ui/inflater/util/ValueMapper.java | 9 +++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/src/main/assets/sample/复杂界面/登录界面.js b/app/src/main/assets/sample/复杂界面/登录界面.js index cdf35797..62ae478d 100644 --- a/app/src/main/assets/sample/复杂界面/登录界面.js +++ b/app/src/main/assets/sample/复杂界面/登录界面.js @@ -45,7 +45,7 @@ function showRegisterUI(){ 邮箱 - + diff --git a/autojs/src/main/java/com/stardust/autojs/core/ui/inflater/util/Dimensions.java b/autojs/src/main/java/com/stardust/autojs/core/ui/inflater/util/Dimensions.java index 4b29efea..a5b62f2e 100644 --- a/autojs/src/main/java/com/stardust/autojs/core/ui/inflater/util/Dimensions.java +++ b/autojs/src/main/java/com/stardust/autojs/core/ui/inflater/util/Dimensions.java @@ -59,7 +59,7 @@ public class Dimensions { if (!m.matches()) { throw new InflateException("dimension cannot be resolved: " + dimension); } - int unit = m.groupCount() == 2 ? UNITS.get(m.group(2)) : TypedValue.COMPLEX_UNIT_PX; + int unit = m.groupCount() == 2 ? UNITS.getOr(m.group(2), TypedValue.COMPLEX_UNIT_DIP) : TypedValue.COMPLEX_UNIT_DIP; float value = Integer.valueOf(m.group(1)); return TypedValue.applyDimension(unit, value, context.getResources().getDisplayMetrics()); } diff --git a/autojs/src/main/java/com/stardust/autojs/core/ui/inflater/util/ValueMapper.java b/autojs/src/main/java/com/stardust/autojs/core/ui/inflater/util/ValueMapper.java index 7892180e..adf987f4 100644 --- a/autojs/src/main/java/com/stardust/autojs/core/ui/inflater/util/ValueMapper.java +++ b/autojs/src/main/java/com/stardust/autojs/core/ui/inflater/util/ValueMapper.java @@ -22,6 +22,15 @@ public class ValueMapper { return this; } + + public V getOr(String key, V defValue) { + V v = mHashMap.get(key); + if (v == null) { + return defValue; + } + return v; + } + public V get(String key) { V v = mHashMap.get(key); if (v == null) {