-
前提这是小空坚持写的Android新手向系列,欢迎品尝。大佬(×)新手(√)实践过程今天我们继续学习EditText-她是程序和用户进行交互极其重要的控件。所有的App关于输入和编辑内容基本都用的这个控件来进行处理,基于该控件又封装了搜索,登录,输入限制,聊天框,内容编辑等组件。EditText继承自TextView,所以拥有TextView的“全部”功能,让我们抓紧领略下EditText的神奇吧。在布局中我们先简单看下:<EditText android:layout_width="160dp" android:layout_height="wrap_content" android:textColor="#ff0000" android:hint="芝麻粒儿提醒请输入您的内容" />细心的你运行后一定发现,浅灰色内容默认显示,当输入真正内容的时候就自动消失了。没错,那是友好型提示文本。Android发展到现在,这已经是基操了。而且也不用我们多做什么逻辑,只需要一个属性即可实现【android:hint=""】,剩下的系统自动处理,很方便。属性介绍上面也说了该控件继承自TextView,所以属性操作和TextView一致,关于TextView都有哪些属性,可以去看小空关于TextView的介绍,里面列举说明了基本所有属性。我们在此讲一些常用属性。android:textStyle=“bold” :设置文本样式,bold(粗体), italic(斜体), bold|italic(粗斜体)android:textColorHighlight="":设置选中文本的颜色android:textScaleX="1.5":设置水平方向字与字之间的间距android:textScaleY="1.5":设置垂直方向字与字之间的间距android:typeface="monospace" :设置文本的字体,monospace:等宽字体,sans:无衬线字体,serif:衬线,normal:普通字体。android:textColorHint="":设置提示文本Hint的文本颜色android:selectAllOnFocus:设置输入框获取焦点后是否选中所有文本,当为true的时候选中所有文本,默认为false。输入类型限制是很常用的了,比如仅仅显示数字,或者密码类型,也能减少bug产出。重点声明:以下属性针对Android原生系统和输入法是都支持的,针对国内系统和三方输入法有些属性是失效的。所以小空在这只列举常用的属性,小心别进坑了。android:inputType="none":EditText无限制,可以任意输入android:inputType="text":任何文本,等同于noneandroid:inputType="textMultiLine":多行输入,该属性会导致android:imeOptions属性失效android:inputType="textUri":网址类型android:inputType="textEmailAddress":电子邮件类型android:inputType="textPersonName":人名类型android:inputType="textPostalAddress":地址类型android:inputType="textPassword":密码类型android:inputType="textVisiblePassword":可见密码类型android:inputType="textWebEditText":网页变淡文本android:inputType="number":数字类型android:inputType="numberSigned": 带符号数字格式android:inputType=“numberDecimal” :带小数点的浮点格式android:inputType=“phone” :拨号键盘类型android:inputType=“datetime” :时间日期类型android:inputType=“date” :日期键盘类型android:inputType="time" :时间键盘类型android:digits="0123456789":设置只能显示哪些字符,如果内容较多不适用输入的时候控制键盘(回车键/确认键)的不同行为,该属性同上面一样,针对官方的输入法适用,但国内有很多不同的三方输入法,不一定有效,不过自定义键盘的时候会用到。android:imeOptions=“flagNoExtractUi” :使软键盘不全屏显示,只占用一部分屏幕 同时,这个属性还能控件软键盘右下角按键的显示内容,默认情况下为回车键android:imeOptions=“actionNone” :输入框右侧不带任何提示android:imeOptions=“actionGo” :右下角按键内容为’开始’android:imeOptions=“actionSearch” :右下角按键为放大镜图片,搜索android:imeOptions="actionSend":右下角按键内容为’发送’字样android:imeOptions=“actionNext” :右下角按键内容为’下一步’ 或’下一项’ 字样android:imeOptions=“actionDone” :右下角按键内容为’完成’字样小键盘控制一旦涉及输入框,那么小键盘一定少不了,在业务开发的过程中会针对小键盘隐藏显示等做出对应的措施,或者自定义键盘的业务功能都需要该技术。在AndroidMinifest.xml的【activity】中设置属性【windowSoftInputMode】即可。stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置,也就是小键盘的默认值,当输入组件EditText获取焦点的时候才会弹出stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示,举例,该页面A是隐藏键盘,跳转页面B后,键盘也是隐藏的。stateHidden:用户选择activity时,软键盘总是被隐藏stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的stateVisible:软键盘通常是可见的stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态,不管有没有输入框。adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示,并且会调整布局进而使输入内容始终可见adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间adjustPan:当前窗口的内容将自动移动以便当前焦点控件不被键盘覆盖和用户能总是看到输入内容的部分。上面的属性使用过程中同样不是唯一性,可联合使用。android:windowSoftInputMode=“adjustResize|stateAlwaysHidden”光标默认光标位置是在最后显示的,这也是对用户较好的体验形式。但同时官方仍然给了我们更多的自由空间。明文密文很多App业务中都需要密码输入,有的产品会在密码旁边有个【眼睛】的图标,展示可展示密码明文或回复密文。这都是程序中用代码控制的。EditText testEditText = findViewById(R.id.testEditText);//显示明文密码testEditText.setTransformationMethod(new HideReturnsTransformationMethod());//隐藏密码 就是密文显示 都是 *** 号testEditText.setTransformationMethod(new PasswordTransformationMethod());其他作者:小空和小芝中的小空转载说明-务必注明来源:https://zhima.blog.csdn.net/https://www.zhihu.com/people/zhimalierhttps://juejin.cn/user/4265760844943479这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气,日后定有一番大作为!!!旁边有点赞收藏今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。
推荐直播
-
GaussDB管理平台TPOPS,DBA高效运维的一站式解决方案
2024/12/24 周二 16:30-18:00
Leo 华为云数据库DTSE技术布道师
数据库的复杂运维,是否让你感到头疼不已?今天,华为云GaussDB管理平台将彻底来改观!本期直播,我们将深入探索GaussDB管理平台的TPOPS功能,带你感受一键式部署安装的便捷,和智能化运维管理的高效,让复杂的运维、管理变得简单,让简单变得可靠。
回顾中 -
DTT年度收官盛典:华为开发者空间大咖汇,共探云端开发创新
2025/01/08 周三 16:30-18:00
Yawei 华为云开发工具和效率首席专家 Edwin 华为开发者空间产品总监
数字化转型进程持续加速,驱动着技术革新发展,华为开发者空间如何巧妙整合鸿蒙、昇腾、鲲鹏等核心资源,打破平台间的壁垒,实现跨平台协同?在科技迅猛发展的今天,开发者们如何迅速把握机遇,实现高效、创新的技术突破?DTT 年度收官盛典,将与大家共同探索华为开发者空间的创新奥秘。
回顾中
热门标签