前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Android EditText详解

Android EditText详解

原创
作者头像
奶油话梅糖
修改于 2021-03-19 09:54:44
修改于 2021-03-19 09:54:44
1.8K0
举报

前言

很常用的控件EditText(输入框); 和TextView非常类似,最大的区别是:EditText可以接受用户输入。和前面一样,我们不一个个讲属性, 只讲实际应用。那么开始本节内容!

1.设置默认提示文本

如下图,相信你对于这种用户登录的界面并不陌生,是吧,我们很多时候都用的这种界面

相比另外这种,下面这种又如何?

还不赖是吧,当然,不会在这里贴布局,这里只介绍默认提示文本的两个控制属性:

默认提示文本的两个属性如下:

代码语言:txt
AI代码解释
复制
android:hint="默认提示文本"
android:textColorHint="#95A1AA"

前者设置提示的文本内容,后者设置提示文本的颜色!

2.获得“焦点”后全选组件内所有文本内容

当我们想在点击输入框获得焦点后,不是将光标移动到文本的开始或者结尾;而是 获取到输入框中所有的文本内容的话!这个时候我们可以使用selectAllOnFocus属性

代码语言:txt
AI代码解释
复制
android:selectAllOnFocus="true"

比如下面的效果图: 第一个是设置了该属性的,第二个是没设置该属性的,设置为true的EditText获得焦点后 选中的是所有文本!

效果图:

3.限制EditText输入类型

有时我们可能需要对输入的数据进行限制,比如输入电话号码的时候,你输入了一串字母,这 显然是不符合我们预期的,而限制输入类型可以通过inputType属性来实现!

比如限制只能为电话号码,密码(textPassword):

代码语言:txt
AI代码解释
复制
<EditText   
        android:layout_width="fill_parent"   
        android:layout_height="wrap_content"   
        android:inputType="phone" />  

可选参数如下:

文本类型,多为大写、小写和数字符号

代码语言:txt
AI代码解释
复制
android:inputType="none"  
android:inputType="text"  
android:inputType="textCapCharacters"  
android:inputType="textCapWords"  
android:inputType="textCapSentences"  
android:inputType="textAutoCorrect"  
android:inputType="textAutoComplete"  
android:inputType="textMultiLine"  
android:inputType="textImeMultiLine"  
android:inputType="textNoSuggestions"  
android:inputType="textUri"  
android:inputType="textEmailAddress"  
android:inputType="textEmailSubject"  
android:inputType="textShortMessage"  
android:inputType="textLongMessage"  
android:inputType="textPersonName"  
android:inputType="textPostalAddress"  
android:inputType="textPassword"  
android:inputType="textVisiblePassword"  
android:inputType="textWebEditText"  
android:inputType="textFilter"  
android:inputType="textPhonetic" 

数值类型

代码语言:txt
AI代码解释
复制
android:inputType="number"  
android:inputType="numberSigned"  
android:inputType="numberDecimal"  
android:inputType="phone"//拨号键盘  
android:inputType="datetime"  
android:inputType="date"//日期键盘  
android:inputType="time"//时间键盘

4.设置最小行、最多行、单行、多行、自动换行

EditText默认是多行显示的,并且能够自动换行,即当一行显示不完的时候,他会自动换到第二行

如图所示:

我们可以对其进行限制,比如 设置最小行的行数:android:minLines="3" 或者设置EditText最大的行数:android:maxLines="3" PS:当输入内容超过maxline,文字会自动向上滚动!!

另外很多时候我们可能要限制EditText只允许单行输入,而且不会滚动,比如上面的登陆界面的 例子,我们只需要设置

代码语言:txt
AI代码解释
复制
android:singleLine="true"

即可实现单行输入不换行

5.设置文字间隔,设置英文字母大写类型

我们可以通过下述两个属性来设置字的间距:

代码语言:txt
AI代码解释
复制
android:textScaleX="1.5"    //设置字与字的水平间隔
android:textScaleY="1.5"    //设置字与字的垂直间隔

另外EditText还为我们提供了设置英文字母大写类型的属性:android:capitalize 默认none,提供了三个可选值:

sentences:仅第一个字母大写 words:每一个单词首字母大小,用空格区分单词 characters:每一个英文字母都大写

6.控制EditText四周的间距与内部文字与边框间的距离

我们使用margin相关属性增加组件相对其他控件的距离,比如android:marginTop = "5dp"使用padding增加组件内文字和组件边框的距离,比如android:paddingTop = "5dp"

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
你从未见过的EditText属性详解
Hi,小伙伴们, Layout学会了, Button和 TextView学会了, ImageView也学会了,是不是感觉总是学习这些单一的东西稍微有点枯燥了呢?那么学习了这篇文章之后,开始尽情发挥你们的想象力开始搞事情吧~
下码看花
2019/09/02
3.3K0
你从未见过的EditText属性详解
EditText 集锦 - 开发中常用的用法及遇到的各种坑
EditText ,文本输入框,一个再熟悉不过的的控件,在开发当中,我们需要经常用到。这边文章,主要是记录 EditText 的常用用法,需要的时候可以直接复制张贴,提高效率。同时,本文章会持续更新,建议收藏起来。
程序员徐公
2019/03/04
2.3K0
EditText的属性和使用方法
EditText与TextView非常相似,它甚至与TextView 共用了绝大部分XML属性和方法。EditText与TextView的最大区别在于:EditText可以接受用户输入。 一、EditText简介 EditText支持的XML属性及相关方法见TextView表中介绍的与输入有关的属性和方法,其中比较重要的一个属性是inputType,用于为EditText设置输入类型,其属性值主要有以下一些。 n android:inputType="none":普通字符。 n android:input
分享达人秀
2018/02/02
2.6K0
EditText的属性和使用方法
Android EditText使用详解-包含很多教程上看不到的功能演示
标题有点大,说是详解,其实就是对EditText的一些常用功能的介绍,包括密码框,电话框,空白提示文字等等的讲解,尽量的介绍详细一点,也就是所谓的详解了。。呵呵
飞雪无情
2018/08/28
4K0
Android EditText使用详解-包含很多教程上看不到的功能演示
常用控件之TextView全解析
大家好!在前几篇文章里,我们详细介绍了Android中的常用布局,使大家对Android中的页面布局有了一定认识,而对于布局中使用的一些UI控件如Button、TextView等,有的读者可能还存在一些困惑。在接下来文章中,我们将详细介绍Android开发中经常使用的UI控件,敬请期待!
下码看花
2019/09/02
2.3K0
常用控件之TextView全解析
Android UI学习之EditText
比如上面那正图片就是我截取的添加联系人的界面,很明显能输入文本的就是EditText。
DragonKingZhu
2022/05/08
4710
Android UI学习之EditText
【Flutter 专题】64 图解基本 TextField 文本输入框 (一)
和尚最近在学习基础的 Flutter Widget,原因在于很多基础的组件有很多容易忽视的注意事项,了解并熟悉后对整体的开发认知会有所提升;今天和尚学习一下 TextField 文本输入框;
阿策小和尚
2019/10/22
4.7K0
Android开发笔记(三十六)展示类控件
View是单个视图,所有的控件类都是从它派生出来;而ViewGroup是个视图组织,所有的布局视图类都是从它派生出来。由于View和ViewGroup是基类,因此很少会直接使用,偶尔用到的场景,主要有如下几个: 1、页面上需要单独显示一条横线或者竖线。如果填充图片显然不够经济,最简单的做法,就是在xml布局中增加一个View控件,高度或宽度设置为1dp,背景颜色设置为线条颜色,这样便实现了单独显示线条的需求。 2、点击事件的处理函数onClick(View v),这里面我们要调用View的getId方法获取发生点击事件的控件id,从而进行该控件对应的点击处理。 3、在代码中设置某控件为可见或不可见或消失,此时需要使用View类的三个变量,分别是View.VISIBLE、View.INVISIBLE和View.GONE。
aqi00
2019/01/18
1.5K0
浅谈EditText控件的inputType类型
android:inputType="none"--默认 android:inputType="text"--输入文本字符 android:inputType="textCapCharacters"--字母大写 android:inputType="textCapWords"--单词首字母大小 android:inputType="textCapSentences"--仅第一个字母大小 android:inputType="textAutoCorrect"--自动更正 android:i
听着music睡
2018/06/08
1.8K0
11/19Android开发笔记—EditTex多行输入及相关问题
从今天起可以传最近的了,虽然依旧会有些延迟O(∩_∩)O~。由于直接在真机上运行了,相关图片只能回头用虚拟机单独截了。
WindCoder
2018/09/20
8680
11/19Android开发笔记—EditTex多行输入及相关问题
TextView属性和方法大全
前面简单学习了一些Android UI的一些基础知识,那么接下来我们一起来详细学习Android的UI界面基本组件。 一、认识TextView 我们知道前面学习的HelloWorld应用程序中就是使用
分享达人秀
2018/02/02
2.1K0
TextView属性和方法大全
[android] 短信发送器
/*****************2016年4月23日 更新********************************/
唯一Chat
2019/09/10
4.4K0
超全的Android组件及UI框架
设计和代码切换,一般情况下,我们 UI 布局都是先拖再细调整,也就是先用设计默认拖出一个大概的布局,然后用代码来微调
红目香薰
2022/11/29
6.3K0
超全的Android组件及UI框架
自定义键盘(二)[通俗易懂]
上一篇文章只是自定义了一个键盘的样式,并未和任何的输入框进行关联。只有和输入框进行关联才能是一个有用的键盘。不知道你有没有注意到应用市场上有这样一类app:第三方输入法app,比如讯飞输入法,搜狗输入法;
全栈程序员站长
2022/08/04
9870
Flutter TextField详解
TextField是一个material design风格的输入框,本身有多种属性,除此之外装饰器InputDecoration也有多种属性,但都比较简单,所以不必担心,且听我娓娓道来。
yechaoa
2022/06/10
4.3K0
Flutter TextField详解
【Flutter实战】文本组件及五大案例
老孟导读:大家好,这是【Flutter实战】系列文章的第二篇,这一篇讲解文本组件,文本组件包括文本展示组件(Text和RichText)和文本输入组件(TextField),基础用法和五个案例助你快速掌握。
老孟Flutter
2020/09/11
7.3K0
【Flutter实战】文本组件及五大案例
SearchView使用详解
搜索在一般APP中是基本功能,且非常重要。 常见的有组装的EditText,今天主要讲的是SearchView。
yechaoa
2022/06/10
1.2K0
SearchView使用详解
study - 一文入门正则表达式
如图所示的正则,将日期和时间都括号括起来。这个正则中一共有两个分组,日期是第 1 个,时间是第 2 个。
stark张宇
2023/03/04
5740
Flutter组件学习(三)—— 输入框TextFiled
Google 前两天发布了 Flutter 1.0 正式版本,正式版发布之后,LZ身边越来越多的人都开始入坑了,不得不说 Flutter 框架的魅力还是很吸引人的哈,所以我们更要抓紧学习了;之前我写了两篇文章来介绍 Flutter中的Text组件 和 Flutter中的Image组件,今天我们继续学习输入框 TextFiled 组件,话不多说,先上图:
用户2802329
2018/12/26
2.6K0
React Native控件只TextInput
TextInput是一个允许用户在应用中通过键盘输入文本的基本组件。本组件的属性提供了多种特性的配置,譬如自动完成、自动大小写、占位文字,以及多种不同的键盘类型(如纯数字键盘)等等。 比如官网最简单的写法: import React, { Component } from 'react'; import { AppRegistry, TextInput } from 'react-native'; class UselessTextInput extends Component { construct
xiangzhihong
2018/02/05
3.7K0
React Native控件只TextInput
相关推荐
你从未见过的EditText属性详解
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文