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) {