首页 > 编程语言 >视频直播系统源码,EditText输入框的使用

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

时间:2023-11-10 14:11:39浏览次数:38  
标签:p0 Int EditText 输入框 源码 editText fun

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

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

 

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

 


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

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

 


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

 

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

 


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

 

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

 

标签:p0,Int,EditText,输入框,源码,editText,fun
From: https://www.cnblogs.com/yunbaomengnan/p/17823978.html

相关文章

  • 基于SSM+SpringBoot影院在线预订系统开发与设计(附源码资料)
    文章目录1.项目简介2.项目运行截图2.1.电影网站首页2.2.电影列表2.3.反馈与意见2.4.电影详情2.5.电影预订2.6.会员登录2.7.会员注册2.8.管理员后台首页2.9.用户管理2.10.电影管理2.11.房间管理2.12.房间管理2.13.黑名单管理2.14.用户反馈管理2.15.预约管理3.源码获取1.项目简介该......
  • go-epoll源码解析.md
    golang-epoll模型源码解析epollepollisaniomultipexingmodelinlinuxenv.epollgenerateepolltable.Anewsocketwillbeputintoepolltableafterbindandlistenoperation.ThenwewillgetreadyeventswithwaitfuncWhenepoll_wait()returnsready......
  • go源码解析-map
    map简介golang的map主要是基于hash-bucket实现demoMap:=make(int,len)typehmapstruct{ //Note:theformatofthehmapisalsoencodedincmd/compile/internal/reflectdata/reflect.go. //Makesurethisstaysinsyncwiththecompiler'sdefinition. count......
  • 基于Hadoop的物品租赁系统的设计与实现-计算机毕业设计源码+LW文档
    开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9浏览器:谷歌浏览器数据库:DROPTABLEIFEXISTSaboutus;/*!40101SET@saved_cs_client=@@character_set_cl......
  • springboot社区团购管理系统的设计与实现-计算机毕业设计源码+LW文档
    abo开发说明开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:Maven3.3.9浏览器:谷歌浏览器部分数据库:----Tablestructurefortableaddress--DROPTABLEIFEXISTSaddr......
  • 基于Spark的共享单车数据存储系统的设计与实现-计算机毕业设计源码+LW文档
    摘 要近些年来,随着科技的飞速发展,互联网的普及逐渐延伸到各行各业中,给人们生活带来了十分的便利,共享单车数据存储系统利用计算机网络实现信息化管理,使整个共享单车数据存储管理的发展和服务水平有显著提升。本文拟采用java技术和Springboot搭建系统框架,后台使用MySQL数据库进......
  • springboot科研管理系统-计算机毕业设计源码+LW文档
    摘 要随着计算机技术发展,计算机系统的应用已延伸到社会的各个领域,大量基于网络的广泛应用给生活带来了十分的便利。所以把科研管理与现在网络相结合,利用计算机搭建科研管理系统,实现科研的信息化。则对于进一步提高科研管理发展,丰富科研管理经验能起到不少的促进作用。系统阐述......
  • 【安卓13】谷歌原生桌面launcher3源码修改,修改桌面布局(首屏应用、小部件、导航栏、大
    前言近期接到一个关于谷歌EDLA认证的需求,我负责的是谷歌原生桌面布局的修改,通过研究源码,将涉及到了一些修改思路发出来,大家可以参考一下有没有对你有用的信息。主要修改内容有:1、搜索栏、底部导航栏未居中2、中部应用未按要求排布,详情请参考摹客3、在原生Google桌面未添加中......
  • 移动医疗科技:开发互联网医院系统源码
    在这个数字化时代,互联网医院系统成为了提供便捷、高效医疗服务的重要手段。本文将介绍利用移动医疗科技开发互联网医院系统的源码,为医疗行业的数字化转型提供有力支持。智慧医疗、互联网医院这一类平台可以通过线上的形式进行部分医疗服务,例如挂号、问诊、支付、管理类的功能,可以随......
  • 阿里面试:看过框架源码吗?举例说明一下
    前两天有朋友面试“淘汰集团”,也就是“淘宝”+“天猫”的组合,最后被面试官问到了这道题:“你看过哪些开源框架的源码?举例说明一下”。诚然,这是一道比较考验应聘者基本功的问题,也是很好区分“好学生”和“普通学生”的一道经典的开放性问题。那这个问题应该怎么回答呢?解答思路我......