Skip to content

Commit 722bd63

Browse files
committed
更新说明文档。
1 parent 556aa7f commit 722bd63

8 files changed

Lines changed: 110 additions & 18 deletions

File tree

.idea/dictionaries/Administrator.xml

Lines changed: 5 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

README.md

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,25 @@ dependencies {
167167

168168
------------
169169

170+
### [RegexUtil](https://github.com/Lindroy/AndroidUtilsKt/blob/master/androidutilskt/src/main/java/com/lindroid/androidutilskt/extension/RegexUtil.kt "RegexUtil")
171+
172+
| 成员名称 | 作用 | 接收类 | 备注 |
173+
| ------------ | ------------ | :------------: | :------------: |
174+
| isMobile | 校验内地手机号码 | String | / |
175+
| isEmail | 校验电子邮箱 | String | / |
176+
| isWebUrl | 校验网络链接 | String | / |
177+
| isNumber | 校验数字 | String | / |
178+
| isPositiveInt | 校验正整数 | String | / |
179+
| isNegativeInt | 校验负整数 | String | / |
180+
| isLetter | 校验字母 | String | / |
181+
| isUpperCaseLetter | 校验大写字母 | String | / |
182+
| isLowerCaseLetter | 校验小写字母 | String | / |
183+
| isChinese | 校验汉字 | String | / |
184+
| isQQ | 校验QQ号码 | String | / |
185+
| isMacaoMobile | 校验澳门手机号码 | String | / |
186+
187+
------------
188+
170189
### [ResourceUtil](https://github.com/Lindroy/AndroidUtilsKt/blob/master/androidutilskt/src/main/java/com/lindroid/androidutilskt/extension/ResourceUtil.kt "ResourceUtil"):资源工具类
171190
| 成员名称 | 作用 | 接收类 | 备注 |
172191
| ------------ | ------------ | :------------: | :------------: |
@@ -190,6 +209,78 @@ dependencies {
190209
| isPortrait | 是否是竖屏 | Context | / |
191210

192211
------------
212+
### [SpanUtil](https://github.com/Lindroy/AndroidUtilsKt/blob/master/androidutilskt/src/main/java/com/lindroid/androidutilskt/extension/SpanUtil.kt "SpanUtil")
213+
214+
#### 单一特效文字
215+
如果给某段文字设置的特效只有一种,可以使用如下比较简单的函数:
216+
217+
| 成员名称 | 作用 | 接收类 | 备注 |
218+
| ------------ | ------------ | :------------: | :------------: |
219+
| setFgColorSpan() | 设置前景色 | TextView | / |
220+
| setBgColorSpan() | 设置背景色 | TextView | / |
221+
| setStrikethroughSpan() | 设置删除线 | TextView | / |
222+
| setUnderlineSpan() | 设置下划线 | TextView | / |
223+
| setClickableSpan() | 设置可点击文本 | TextView | / |
224+
| setStyleSpan() | 设置文字样式 | TextView | / |
225+
| setBoldSpan() | 设置粗体字 | TextView | / |
226+
| setItalicSpan() | 设置斜体字 | TextView | / |
227+
| setBoldItalicSpan() | 设置粗体和斜体字 | TextView | / |
228+
| setUrlSpan() | 设置超链接 | TextView | / |
229+
| setRelativeSizeSpan() | 设置文字相对大小 | TextView | / |
230+
| setSuperScriptSpan() | 设置文字上标 | TextView | / |
231+
| setSubscriptSpan() | 设置文字下标 | TextView | / |
232+
233+
#### 多种特效文字
234+
对于需要给同一段文字设置多种特效需求,这里提供了另一套可以链式调用的函数,首先使用如下的扩展函数开启链式调用:
235+
236+
| 成员名称 | 作用 | 接收类 | 备注 |
237+
| ------------ | ------------ | :------------: | :------------: |
238+
| buildSpan | 设置前景色 | TextView | / |
239+
240+
然后则可以使用构造类`SpanHelper.Builder`中的函数去设置特效了:
241+
242+
| 函数名称 | 作用 | 备注 |
243+
| ------------ | ------------ | :------------: |
244+
| setStart() | 设置文字特效开始的位置下标 | / |
245+
| setEnd() | 设置文字特效结束的位置下标 | / |
246+
| setStartEnd() | 同时设置文字特效开始和结束的位置 | / |
247+
| setFlag() | 设置标识 | 一共4种 |
248+
| setFgColor() | 设置前景色 | / |
249+
| setBgColor() | 设置背景色 | / |
250+
| setStrikethrough() | 设置删除线 | / |
251+
| setUnderline() | 设置下划线 | / |
252+
| setClickable() | 设置可点击文本 | / |
253+
| setUrl() | 设置超链接 | / |
254+
| setStyle() | 设置文字样式 | / |
255+
| setBold() | 设置文字为粗体 | / |
256+
| setItalic() | 设置文字为斜体 | / |
257+
| setBoldItalic() | 设置文字为粗体和斜体 | / |
258+
| setRelativeSize() | 设置文字相对大小 | / |
259+
| setSuperScript() | 设置文字上标 | / |
260+
| setSubscript() | 设置文字下标 | / |
261+
| create() | 设置特效完毕 | / |
262+
263+
调用示例:
264+
265+
```kotlin
266+
tvSuperScript.buildSpan("设置文字上标:210=1024")
267+
.setStartEnd(8, 10)
268+
.setRelativeSize(0.6F)
269+
.setSuperScript()
270+
.create()
271+
```
272+
273+
或者使用DSL的风格:
274+
275+
```kotlin
276+
tvSubscript.buildSpan("设置文字下标:H20") {
277+
setStartEnd(8, 9)
278+
setRelativeSize(0.6F)
279+
setSubscript()
280+
create()
281+
}
282+
```
283+
------------
193284

194285
### [SpUtil](https://github.com/Lindroy/AndroidUtilsKt/blob/master/androidutilskt/src/main/java/com/lindroid/androidutilskt/extension/SpUtil.kt "SpUtil"):SharedPreferences工具类
195286

androidutilskt/src/main/java/com/lindroid/androidutilskt/extension/BrightnessUtil.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ fun setAutoBrightness(enable: Boolean) = Settings.System.putInt(
4444
* 系统屏幕亮度,需要WRITE_SETTINGS权限,并在代码中申请系统设置权限
4545
* 范围为0~255
4646
*/
47-
4847
var systemBrightness
4948
get() = try {
5049
Settings.System.getInt(AndUtil.appContext.contentResolver, Settings.System.SCREEN_BRIGHTNESS)

androidutilskt/src/main/java/com/lindroid/androidutilskt/extension/RegexUtil.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import android.util.Patterns
88
* @function 正则表达式工具类
99
* @Description
1010
*/
11+
1112
private fun String.checkWithRegex(pattern: String): Boolean {
1213
return Regex(pattern).matches(this)
1314
}

androidutilskt/src/main/java/com/lindroid/androidutilskt/extension/SpanUtil.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,9 @@ class SpanHelper {
319319
*/
320320
fun setEnd(end: Int) = apply { endIndex = end }
321321

322+
/**
323+
* 同时设置文字特效开始和结束的位置
324+
*/
322325
fun setStartEnd(start: Int, end: Int) = apply {
323326
setStart(start)
324327
setEnd(end)
@@ -459,7 +462,6 @@ class SpanHelper {
459462
fun setBoldItalic(start: Int = startIndex, end: Int = endIndex, flag: Int = this.flag) =
460463
apply { setStyle(Typeface.BOLD_ITALIC, start, end, flag) }
461464

462-
463465
/**
464466
* 设置文字相对大小
465467
* @param proportion:放缩比例
@@ -479,6 +481,9 @@ class SpanHelper {
479481
fun setSubscript(start: Int = startIndex, end: Int = endIndex, flag: Int = this.flag) =
480482
apply { spBuilder.setSpan(SubscriptSpan(), start, end, flag) }
481483

484+
/**
485+
* 设置特效完毕
486+
*/
482487
fun create() {
483488
textView.text = spBuilder
484489
}

app/src/main/java/com/lindroid/androidutilsktdemo/activity/RegexActivity.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,13 @@ class RegexActivity(override val contentViewId: Int = R.layout.activity_regex) :
2222

2323
private lateinit var map: LinkedHashMap<String, String>
2424

25-
2625
private var content: String by Delegates.observable("") { property: KProperty<*>, oldValue: String, newValue: String ->
27-
// content = etRegex.text.toString()
2826
}
2927

3028
override fun initView() {
3129
super.initView()
3230
initToolBar(R.string.util_regex)
3331
initSpinner()
34-
3532
}
3633

3734

app/src/main/java/com/lindroid/androidutilsktdemo/activity/SpannableActivity.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,13 @@ class SpannableActivity(override val contentViewId: Int = R.layout.activity_span
3636
setRelativeSize(0.6F)
3737
setSuperScript()
3838
}.create()
39+
40+
tvSuperScript.buildSpan("设置文字上标:210=1024")
41+
.setStartEnd(8, 10)
42+
.setRelativeSize(0.6F)
43+
.setSuperScript()
44+
.create()
45+
3946
tvSubscript.buildSpan("设置文字下标:H20") {
4047
setStartEnd(8, 9)
4148
setRelativeSize(0.6F)

app/src/main/java/com/lindroid/androidutilsktdemo/bean/RegexItemBean.kt

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)