Skip to content

Commit 09371f0

Browse files
committed
update codes
1 parent e5a2acc commit 09371f0

File tree

4 files changed

+50
-6
lines changed

4 files changed

+50
-6
lines changed

docs/EasyDimension.md

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# EasyDimension
2+
3+
EasyDimension用于快速的在系统提供的各种尺寸间(PX, DIP, SP, IN, PT, MM)进行转换。
4+
5+
## 用法
6+
7+
1. 传入待转换尺寸
8+
9+
```kotlin
10+
// value为原始数值。unit为数值单位。
11+
// unit单位使用系统提供的尺寸单位,如TypedValue.COMPLEX_UNIT_PX, TypedValue.COMPLEX_UNIT_DIP
12+
dimension = EasyDimension.create(value, unit)
13+
```
14+
15+
2. 输出转换后的不同尺寸的数值
16+
17+
```kotlin
18+
dimension.toPX()
19+
dimension.toDIP()
20+
dimension.toSP()
21+
dimension.toPT()
22+
dimension.toIN()
23+
dimension.toMM()
24+
```

docs/EasyFormater.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# EasyFormater
2+
3+
EasyFormater用于对任意类型数据进行格式化操作。

utils/src/main/java/com/haoge/usefulcodes/utils/easy/EasyDimension.kt

-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ class EasyDimension private constructor(private val pixel:Float, private val met
2323
fun toMM() = pixel / metrics.xdpi / (1.0f / 25.4f)
2424

2525
companion object {
26-
@JvmStatic
2726
fun create(value:Float, unit:Int): EasyDimension {
2827
val metrics = SingleCache.getApplicationContext().resources.displayMetrics
2928
return EasyDimension(TypedValue.applyDimension(unit, value, metrics), metrics!!)

utils/src/main/java/com/haoge/usefulcodes/utils/easy/EasyFormater.kt

+23-5
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ class EasyFormater private constructor(private val builder: Builder) {
6767
}
6868

6969
} catch (e:Exception) {
70-
return StringBuilder(data)
70+
return StringBuilder("\"$data\"")
7171
}
7272
result.append(if (isFlat) "]" else "\n]")
7373
return result
@@ -77,11 +77,29 @@ class EasyFormater private constructor(private val builder: Builder) {
7777
val result = StringBuilder("{")
7878
var isFlat = true
7979
try {
80-
val obj = JSONObject(data)
81-
isFlat = obj.length() > builder.maxMapSize
82-
appendIterator(result, obj.keys(), isFlat)
80+
val json = JSONObject(data)
81+
val length = json.length()
82+
val keys = json.keys()
83+
isFlat = length > builder.maxArraySize
84+
var hasNext = keys.hasNext()
85+
while (hasNext) {
86+
if (!isFlat) {
87+
result.append("\n")
88+
}
89+
90+
val sub = StringBuilder()
91+
val next = keys.next()
92+
sub.append(formatString(next)).append(":").append(json.optString(next))
93+
94+
hasNext = keys.hasNext()
95+
if (hasNext) {
96+
sub.append(", ")
97+
}
98+
appendSubString(result, sub)
99+
}
100+
83101
} catch (e:Exception) {
84-
return StringBuilder(data)
102+
return StringBuilder("\"$data\"")
85103
}
86104
result.append(if (isFlat) "}" else "\n}")
87105
return result

0 commit comments

Comments
 (0)