视频直播系统源码,EditText输入框的使用

视频直播系统源码,EditText输入框的使用

为了良好的交互和用户体验,我们在做功能时需要对输入框又一些状态上的监听才能更好的把一些信息反馈给用户。比如登录时的,错误提示,选中时的颜色改变等等,常用的一些方法如下:

 

1.内容编辑的监听:当我们需要实时对内容进行监听:比如内容为空/格式不对时,登录按钮置灰不可点击。

 

1
<br>emailEdit.addTextChangedListener(object : TextWatcher {<br> <br>     // charSequence为在你按键之前显示的字符串  p1为新字符串与charSequence开始出现差异的下标          <br>     //p2表示原字符串的count个字符  p3表示将会被after个字符替换<br>            override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {}<br> <br>    // 按键之前字符串的p1位置的p2个字符已经被p3个字符替换形成新字符串charSequence<br>            override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {<br>                if (!p0.isNullOrEmpty()) {<br>                    isEmailEmpty = false //是否为空<br>                }<br>    //在这里面可以对内容做字数的判定等等,比如文本框的右下角一般都会有一个到达一定<br>    //字数就不可输入,字体颜色变化等等<br>            }<br> <br>    // afterTextChanged中 p0为EditText显示的内容<br>            override fun afterTextChanged(p0: Editable?) {<br>                isRight = CheckEditFormat.checkEditInput(p0.toString())<br>                loginTv.isEnabled = !isEmailEmpty && !isPasswordEmpty //登录按钮是否可       <br>     以点击,也可以在这里动态更改该控件或者其他控件的背景,颜色等等<br>            }<br>        })<br> <br>    //判断输入是否为邮箱格式<br>fun checkEditInput(string: String?): Boolean {<br>        val pattern = Pattern.compile("[A-Za-z\\d]+([-_.][A-Za-z\\d]+)*@([A-Za-z\\d]+[-.])+[A-Za-z\\d]{2,4}")<br>        return ((string?.length ?: 0) > 0) && pattern.matcher(string ?: "").matches()<br>    }

2.是否聚焦监听:选中更改背景,内容处理等等

 

1
<br> <br>emailEdit.setOnFocusChangeListener { view, b -><br>     if (b) {<br>          view.setBackgroundResource(R.drawable.rgb32363b_strokeef7300_r8)//选中为黄色边框<br>       }else{<br>         view.setBackgroundResource(R.drawable.rgb32363b_r8)//未选中为灰色边框<br>       }<br> }

 

3.进入界面聚焦状态自动呼起软键盘

 

1
<br>object KeyboardUtils {<br>    /**<br>     * 弹起软键盘<br>     * @param editText<br>     */<br>    fun openKeyBoard(editText: View, context: Context) {<br>        editText.isFocusable = true<br>        editText.isFocusableInTouchMode = true;<br>        editText.requestFocus();<br>        val timer = Timer();<br>        timer.schedule(object : TimerTask() {<br>            override fun run() {<br>                val imm: InputMethodManager = context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager<br>                imm.showSoftInput(editText, 0)<br>            }<br>        }, 200)<br> <br>    }<br>}

 

 以上就是 视频直播系统源码,EditText输入框的使用,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2022-11-10 视频直播app源码,element表格table点击添加背景色
2022-11-10 直播平台开发,实现网页的导航栏和下拉菜单
2022-11-10 成品直播源码推荐,python实现列表插入、查找、删除
2021-11-10 直播平台源码,关于弹出框中输入框被遮挡问题解决
2021-11-10 短视频平台源码,透明导航栏 AppBar
2021-11-10 聊天平台源码,启动异常进入recovery模式
点击右上角即可分享
微信分享提示