Skip to content

input text dialog API for Kotlin

vincent(朱志强) edited this page Sep 15, 2023 · 7 revisions

回到API首页

效果图

目录导航

快速上手

创建并显示dialog

回到目录导航

SmartDialog.builderOfInputText()
    .title("输入")
    .defaultFilledText("默认填充的文本")
    .hint("请输入建议")
    .maxInputLength(30)
    .confirmBtnListener { dialog, content ->
        dialog.dismiss()
        SmartToast.classic().showInCenter("您输入的内容是:$content")
    }
    .build(activity)
    .show()

复用dialog

回到目录导航

val handle = SmartDialog.builderOfInputText()
    .title("输入")
    .defaultFilledText("默认填充的文本")
    .hint("请输入建议")
    .maxInputLength(30)
    .confirmBtnListener { dialog, content ->
        dialog.dismiss()
        SmartToast.classic().showInCenter("您输入的内容是:$content")
    }
    .build(activity)
//显示
handle.show()
//隐藏
handle.dismiss()
//是否正在显示
handle.isShowing()

详细API

设置title

回到目录导航

SmartDialog.builderOfInputText()
.title("title")
.build(activity)
.show()

或者,

SmartDialog.builderOfInputText()
.titleResource(R.string.input_text_title)
.build(activity)
.show()

设置title的文本风格

回到目录导航

SmartDialog.builderOfInputText()
    //颜色,大小(单位sp),是否加粗
    .titleStyle(Color.BLUE,18f,false)
    .build(activity)
    .show()

设置默认填充的文本

回到目录导航
默认填充的文本并不hint,默认填充文本是指dialog显示时,输入框内默认已填充的文本,可编辑,可删除。

SmartDialog.builderOfInputText()
    .defaultFilledText("默认填充的文本")
    .build(activity)
    .show()

设置hint

回到目录导航

SmartDialog.builderOfInputText()
    .hint("请输入建议")
    .build(activity)
    .show()

或者,

SmartDialog.builderOfInputText()
    .hintResource(R.string.input_hint)
    .build(activity)
    .show()

设置最大输入长度

回到目录导航
默认为30,设置为常量INPUT_NUM_NO_LIMIT(值为-1),表示长度不限

SmartDialog.builderOfInputText()
    .maxInputLength(30)
    .build(activity)
    .show()

设置输入长度计数器文本的颜色

回到目录导航

SmartDialog.builderOfInputText()
    .inputCounterColor(Color.BLUE)
    .build(activity)
    .show()

或者,

SmartDialog.builderOfInputText()
    .inputCounterColorResource(R.color.colorPrimary)
    .build(activity)
    .show()

设置确定按钮的文本

回到目录导航
默认为“确定”

SmartDialog.builderOfInputText()
    .confirmBtnLabel("确定")
    .build(activity)
    .show()

或者,

SmartDialog.builderOfInputText()
    .confirmBtnLabelResource(R.string.confirm_btn_label)
    .build(activity)
    .show()

设置确定按钮的文本风格

回到目录导航

SmartDialog.builderOfInputText()
//颜色,大小(单位sp),是否加粗
.confirmBtnLabelStyle(Color.BLUE,14f,false)
.build(activity)
.show()

设置确定按钮监听器

回到目录导航

SmartDialog.builderOfInputText()
    .confirmBtnListener { dialog, content -> 
        dialog.dismiss()
        //do something with content
    }
    .build(activity)
    .show()

设置取消按钮的文本

回到目录导航

SmartDialog.builderOfInputText()
.cancelBtnLabel("取消")
.build(activity)
.show()

或者,

SmartDialog.builderOfInputText()
.cancelBtnLabelResource(R.string.cancel_btn_label)
.build(activity)
.show()

设置取消按钮的文本风格

回到目录导航

SmartDialog.builderOfInputText()
//颜色,大小(单位sp),是否加粗
.cancelBtnLabelStyle(Color.BLUE,14f,false)
.build(activity)
.show()

设置取消按钮监听器

回到目录导航
可以不设置监听器,默认监听器的效果是隐藏对话框。如想设置监听器,则通过函数confirmBtnListener:

SmartDialog.builderOfInputText()
.cancelBtnListener {
    //do something
    it.dismiss()
}
.build(activity)
.show()

设置是否dim(显示时周围背景是否变暗)

回到目录导航

SmartDialog.builderOfInputText()
//默认为true,也就是常见的配置,dialog显示时,周围背景是灰色蒙层
.dimBehind(true)
.build(activity)
.show()

设置是否可通过BACK键取消

回到目录导航

SmartDialog.builderOfInputText()
//默认为true
.cancelable(true)
.build(activity)
.show()

设置是否可通过触碰周边区域取消dialog

回到目录导航

SmartDialog.builderOfInputText()
//默认false
.cancelOnTouchOutside(false)
.build(activity)
.show()

dialog显示监听器

回到目录导航

SmartDialog.builderOfInputText()
    .dialogShowListener {
        //do something
    }
    .build(activity)
    .show()

dialog隐藏监听器

回到目录导航

SmartDialog.builderOfInputText()
    .dialogDismissListener {
        //do something
    }
    .build(activity)
    .show()

dialog取消监听器

回到目录导航

SmartDialog.builderOfInputText()
    .dialogCancelListener {
        //do something
    }
    .build(activity)
    .show()

1

Clone this wiki locally