From 39151e46bbb94133fc2bb830305acc118f3af6cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=A0=E9=9C=80=E8=A6=81=E4=B8=80=E5=8F=B0=E6=B0=B8?= =?UTF-8?q?=E5=8A=A8=E6=9C=BA?= <779213209@qq.com> Date: Tue, 4 Aug 2020 13:49:11 +0800 Subject: [PATCH] =?UTF-8?q?EditText=E6=89=A9=E5=B1=95=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 删除setTextPro 2. 改addTextLengthListener -> addTextLengthLimit --- .../pmm/ui/ktx/{ContextKTX.kt => Context.kt} | 0 lib/src/main/java/com/pmm/ui/ktx/EditText.kt | 25 ++++++++----------- .../com/pmm/ui/ktx/{ShareKTX.kt => Share.kt} | 6 ++++- .../com/pmm/ui/ktx/{ViewKTX.kt => View.kt} | 0 4 files changed, 16 insertions(+), 15 deletions(-) rename lib/src/main/java/com/pmm/ui/ktx/{ContextKTX.kt => Context.kt} (100%) rename lib/src/main/java/com/pmm/ui/ktx/{ShareKTX.kt => Share.kt} (90%) rename lib/src/main/java/com/pmm/ui/ktx/{ViewKTX.kt => View.kt} (100%) diff --git a/lib/src/main/java/com/pmm/ui/ktx/ContextKTX.kt b/lib/src/main/java/com/pmm/ui/ktx/Context.kt similarity index 100% rename from lib/src/main/java/com/pmm/ui/ktx/ContextKTX.kt rename to lib/src/main/java/com/pmm/ui/ktx/Context.kt diff --git a/lib/src/main/java/com/pmm/ui/ktx/EditText.kt b/lib/src/main/java/com/pmm/ui/ktx/EditText.kt index 2d1d3f4..42993f4 100644 --- a/lib/src/main/java/com/pmm/ui/ktx/EditText.kt +++ b/lib/src/main/java/com/pmm/ui/ktx/EditText.kt @@ -152,32 +152,29 @@ fun EditText.addClearView(clearView: View? = null, keyWordListener: ((keyWord: S } } -/** - * 设置文本时 自动将角标显示都尾部 - */ -fun EditText.setTextPro(text: CharSequence) { - this.setText(text) - this.setSelectionEnd() -} - /** * 添加监听字数视图,且设置限制字数 + * @param limitLength 限制字数 + * @param textCallback 文本监听者 + * @param overTextCallback 超过限制字数的回调 */ -fun EditText.addTextLengthListener( - textLengthListener: ((textLength: Int) -> Unit)? = null, - limitLength: Int = -1 +fun EditText.addTextLengthLimit( + limitLength: Int = -1, + textCallback: ((content: String) -> Unit)? = null, + overTextCallback: (() -> Unit)? = null ) { val edit = this; this.addTextChangedListener(object : MyTextWatcher { + override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { val content = s.toString() if (limitLength != -1 && content.length > limitLength) { - edit.setText(content.substring(0, content.length - 1)) + overTextCallback?.invoke() + edit.setText(content.substring(0, limitLength)) edit.setSelectionEnd() return } - textLengthListener?.invoke(content.length) + textCallback?.invoke(content) } }) } - diff --git a/lib/src/main/java/com/pmm/ui/ktx/ShareKTX.kt b/lib/src/main/java/com/pmm/ui/ktx/Share.kt similarity index 90% rename from lib/src/main/java/com/pmm/ui/ktx/ShareKTX.kt rename to lib/src/main/java/com/pmm/ui/ktx/Share.kt index b6c9290..50dc15e 100644 --- a/lib/src/main/java/com/pmm/ui/ktx/ShareKTX.kt +++ b/lib/src/main/java/com/pmm/ui/ktx/Share.kt @@ -52,7 +52,11 @@ annotation class ShareContentType { * @param shareText 分享文本 * @param shareContentType 分享内容类型 */ -fun Context.share(shareFile: File? = null, shareText: String = "", @ShareContentType shareContentType: String = ShareContentType.TEXT) { +fun Context.share( + shareFile: File? = null, + shareText: String = "", + @ShareContentType shareContentType: String = ShareContentType.TEXT +) { val shareIntent = Intent(Intent.ACTION_SEND) shareIntent.type = shareContentType if (shareContentType == ShareContentType.TEXT) { diff --git a/lib/src/main/java/com/pmm/ui/ktx/ViewKTX.kt b/lib/src/main/java/com/pmm/ui/ktx/View.kt similarity index 100% rename from lib/src/main/java/com/pmm/ui/ktx/ViewKTX.kt rename to lib/src/main/java/com/pmm/ui/ktx/View.kt