文档章节

Android EditText的设置及使用

luhang
 luhang
发布于 2017/02/09 13:27
字数 880
阅读 3
收藏 0
点赞 0
评论 0

1、输入法Enter键图标的设置:

软件盘的界面替换只有一个属性android:imeOptions,这个属性的可以取的值有normal,actionUnspecified,actionNone,actionGo,actionSearch,actionSend,actionNext,actionDone,例如当值为actionNext时enter键外观变成一个向下箭头,而值为actionDone时enter键外观则变成了“完成”两个字。 
我们也可以重写enter的事件


软键盘的Enter键默认显示的是“完成”文本,通过设置android:imeOptions来改变默认的“完成”文本。这里举几个常用的常量值:

actionUnspecified  未指定,对应常量EditorInfo.IME_ACTION_UNSPECIFIED.  
actionNone 没有动作,对应常量EditorInfo.IME_ACTION_NONE 
actionGo 去往,对应常量EditorInfo.IME_ACTION_GO
actionSearch 搜索,对应常量EditorInfo.IME_ACTION_SEARCH    
actionSend 发送,对应常量EditorInfo.IME_ACTION_SEND   
actionNext 下一个,对应常量EditorInfo.IME_ACTION_NEXT   
actionDone 完成,对应常量EditorInfo.IME_ACTION_DONE  

 

(EditorInfo.inputType & EditorInfo.TYPE_CLASS_MASK)可以是许多不同的值,包括: 
TYPE_CLASS_NUMBER 
TYPE_CLASS_DATETIME 
TYPE_CLASS_PHONE 
TYPE_CLASS_TEXT

 

2、事件捕捉处理:

可以通过setOnEditorActionListener设置事件处理。

final EditText input = new EditText(this);   
input.setSingleLine(true); //android:singleLine=”true”     input.setImeOptions(EditorInfo.IME_ACTION_SEND);  
   input.setInputType(InputType.TYPE_CLASS_TEXT |InputType.TYPE_TEXT_VARIATION_PASSWORD);  
   input.setOnEditorActionListener(new TextView.OnEditorActionListener() {  
       public boolean onEditorAction(TextView v, int actionId,    
               KeyEvent event)  {    
        Log.d(TAG, ""+actionId+","+event);  
           if (actionId==EditorInfo.IME_ACTION_SEND  
                ||(event!=null&&event.getKeyCode()== KeyEvent.KEYCODE_ENTER)) {    
            //do something;  
            return true;  
           }    
           return false;    
       }    
   }); 

 

3、editor密码隐藏,怎么写?

有2种方法处理:

代码方法:input.setInputType(InputType.TYPE_CLASS_TEXT |InputType.TYPE_TEXT_VARIATION_PASSWORD);

layout配置方法:android:inputType="textPassword"

 

4、activity加载完成后,edit输入框会自动弹出输入法,可以通过以下代码屏蔽:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

5、设置EditText始终不弹出软件键盘 
例:EditText edit=(EditText)findViewById(R.id.edit); 
       edit.setInputType(InputType.TYPE_NULL);

 

6、让 EditText失去焦点,使用EditText的clearFocus方法 
例如:EditText edit=(EditText)findViewById(R.id.edit); 
           edit.clearFocus();

 

7、EditText默认不弹出软件键盘

在 AndroidMainfest.xml中选择activity,设置windowSoftInputMode属性为 adjustUnspecified|stateHidden

< activity android:name=".Main"
android:label="@string/app_name"
android:windowSoftInputMode="adjustUnspecified|stateHidden"
android:configChanges="orientation|keyboardHidden">< intent-filter>< action android:name="android.intent.action.MAIN" />< category android:name="android.intent.category.LAUNCHER" />< /intent-filter>< /activity>

 

8、设置光标到指定位置

EditText et = (EditText) findViewById(R.id.etTest);
et.setSelection(2);
//设置光标不显示,但不能设置光标颜色
et.setCursorVisible(false);

//获得焦点时全选文本
et.setSelectAllOnFocus(true);

et.requestFocus(); //请求获取焦点
et.clearFocus(); //清除焦点

使用EditText的setError提示
et.setError("邮箱"); 
  

自定义图标的setError提示
Drawable dr = getResources().getDrawable(R.drawable.ic_launcher);
dr.setBounds(0, 0, 10, 10); //必须设置大小,否则不显示
et.setError("有错误提示", dr);

et.setInputType(InputType.TYPE_CLASS_PHONE);//只能输入电话号码
et.setInputType(InputType.TYPE_CLASS_NUMBER);
//只能输入数字
et.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);//只能输入邮箱地址
et.setInputType(InputType.TYPE_NULL); // 禁止输入(不弹出输入法)

XML实现案例
<EditText android:id="@+id/etTest" android:inputType="number"
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content"/>

 

 

8、EditText相关属性

EditText继承关系:View-->TextView-->EditText。 
EditText的属性很多,这里介绍几个: 
android:layout_gravity="center_vertical" 
设置控件显示的位置:默认 top,这里居中显示,还有bottom 
android:hint="请输入数字!" 
设置显示在空间上的提示信息 
android:numeric="integer" 
设置只能输入整数,如果是小数则是:decimal 
android:singleLine="true" 
设置单行输入,一旦设置为true,则文字不会自动换行。 
android:password="true" 
设置只能输入密码 
android:textColor = "#ff8c00" 
字体颜色 
android:textStyle="bold" 
字体,bold, italic, bolditalic 
android:textSize="20dip" 
大小 
android:capitalize = "characters" 
以大写字母写 
android:textAlign="center" 
EditText没有这个属性,但TextView有,居中 
android:textColorHighlight="#cccccc" 
被选中文字的底色,默认为蓝色 
android:textColorHint="#ffff00" 
设置提示信息文字的颜色,默认为灰色 
android:textScaleX="1.5" 
控制字与字之间的间距 
android:typeface="monospace" 
字型,normal, sans, serif, monospace 
android:background="@null" 
空间背景,这里没有,指透明 
android:layout_weight="1" 
权重,控制控件之间的地位,在控制控件显示的大小时蛮有用的。 
android:textAppearance="?android:attr/textAppearanceLargeInverse"

本文转载自:http://blog.csdn.net/qq_18413391/article/details/52770330

共有 人打赏支持
luhang
粉丝 3
博文 15
码字总数 571
作品 0
长宁
程序员
EditText无法自动获取焦点

很多时候监听输入框焦点变化,或者进入页面时不弹出键盘的需求,这要用到使EditText不自动获取焦点 一, 将第一个EditText用LinearLayout包裹,并在LinearLayout中加入 使其无法获得焦点 二,...

我的天呐0_0 ⋅ 2017/03/09 ⋅ 0

Android项目实战(一): SpannableString与SpannableStringBuilder(转)

前言: 曾经在一些APP中的一些类似“帮助”“关于”的界面看过一行文字显示不同的颜色的效果,如下效果: 本软件是一款高、大、上的社区类软件。 一般来说,这应该是由一个TextView来显示的,...

听着music睡 ⋅ 2014/11/13 ⋅ 0

andriod-四大组件之广播Broadcast-短信的收发

我想几乎所有的安卓开发者,第一个接触到的四大组件之一就是activity,而我在之前的文章中也写过, 在activity里面getContext是大佬级别的存在(可以看前几章), 那么四大组件中的广播Broad...

九尾74 ⋅ 05/24 ⋅ 0

Android EditText 不弹出软键盘

EditText默认不弹出软件键盘 方法一: 在AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为adjustUnspecified|stateHidden 例如:<activity android:name=".Main" andr......

小打小闹小开小心 ⋅ 2015/12/14 ⋅ 0

Android EditText输入手机号空格

Android EditText输入手机号空格 开发需求是在登录页面的手机EditText中间插入空格,让用户看起来方便点, 130 1234 4567,中间第4个数字和第5个数字空格前面加空格。 要求还有一点,就是除了...

Good包籽 ⋅ 01/31 ⋅ 0

android调用web service接口例子

下面给书具体的实例: mian.xml很简单就是两个编辑框: 复制代码代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/andr......

-wangming- ⋅ 2015/02/05 ⋅ 0

管与android软键盘隐藏总结

转载::Linux社区 1>软键盘的状态——隐藏或显示。 一:自动弹出软键盘 Timer timer=new Timer(); timer.schedule(new TimerTask() { public void run() { InputMethodManager inputMethod......

迷途d书童 ⋅ 2012/03/26 ⋅ 0

【Kotlin For Android】(三): Anko 库

一、简介 Github地址 是一个使 Android应用程序 开发更快,更容易的库。它使你的代码变得简洁易读,并让您忘记 的粗糙边缘。 Anko 由几部分组成: :一个轻量级的库,里面充满了,对话框,日...

Agnes2017 ⋅ 04/27 ⋅ 0

Android开发权威指南(第2版)新书发布

《Android开发权威指南(第二版)》是畅销书《Android开发权威指南》的升级版,内容更新超过80%,是一本全面介绍Android应用开发的专著,拥有45章精彩内容供读者学习。  《Android开发权威指...

androidguy ⋅ 2013/09/05 ⋅ 0

GridView+PopupWindow自定义数字键盘

public class SimpleGridViewTest extends Activity { EditText editText; private PopupWindow popupWindow; private GridView mGridView; private View contentview; private List datas =......

wx5a18b5d1780d3 ⋅ 04/19 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

oAuth2 升级Spring Cloud Finchley.RELEASE踩坑分享

背景 6.19号,spring团队发布了期待已久的 Spring Cloud Finchley.RELEASE 版本。 重要变化: 基于Spring Boot 2.0.X 不兼容 Spring Boot 1.5.X 期间踩过几个坑,分享出来给大伙,主要是关于...

冷冷gg ⋅ 35分钟前 ⋅ 0

OSChina 周一乱弹 —— 理发师小姐姐的魔法

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @冰冰棒- :分享田馥甄的单曲《My Love》 《My Love》- 田馥甄 手机党少年们想听歌,请使劲儿戳(这里) @Li-Wang :哎,头发又长了。。。又要...

小小编辑 ⋅ 今天 ⋅ 4

Kafka1.0.X_消费者API详解2

偏移量由消费者管理 kafka Consumer Api还提供了自己存储offset的功能,将offset和data做到原子性,可以让消费具有Exactly Once 的语义,比kafka默认的At-least Once更强大 消费者从指定分区...

特拉仔 ⋅ 今天 ⋅ 0

个人博客的运营模式能否学习TMALL天猫质量为上?

心情随笔|个人博客的运营模式能否学习TMALL天猫质量为上? 中国的互联网已经发展了很多年了,记得在十年前,个人博客十分流行,大量的人都在写博客,而且质量还不错,很多高质量的文章都是在...

原创小博客 ⋅ 今天 ⋅ 0

JavaScript零基础入门——(十一)JavaScript的DOM操作

JavaScript零基础入门——(十一)JavaScript的DOM操作 大家好,欢迎回到我们的JavaScript零基础入门。最近有些同学问我说,我讲的的比书上的精简不少。其实呢,我主要讲的是我在开发中经常会...

JandenMa ⋅ 今天 ⋅ 0

volatile和synchronized的区别

volatile和synchronized的区别 在讲这个之前需要先了解下JMM(Java memory Model :java内存模型):并发过程中如何处理可见性、原子性、有序性的问题--建立JMM模型 详情请看:https://baike.b...

MarinJ_Shao ⋅ 今天 ⋅ 0

深入分析Kubernetes Critical Pod(一)

Author: xidianwangtao@gmail.com 摘要:大家在部署Kubernetes集群AddOn组件的时候,经常会看到Annotation scheduler.alpha.kubernetes.io/critical-pod"="",以表示这是一个关键服务,那你知...

WaltonWang ⋅ 今天 ⋅ 0

原子性 - synchronized关键词

原子性概念 原子性提供了程序的互斥操作,同一时刻只能有一个线程能对某块代码进行操作。 原子性的实现方式 在jdk中,原子性的实现方式主要分为: synchronized:关键词,它依赖于JVM,保证了同...

dotleo ⋅ 今天 ⋅ 0

【2018.06.22学习笔记】【linux高级知识 14.4-15.3】

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

lgsxp ⋅ 今天 ⋅ 0

JeeSite 4.0 功能权限管理基础(Shiro)

Shiro是Apache的一个开源框架,是一个权限管理的框架,实现用户认证、用户授权等。 只要有用户参与一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户...

ThinkGem ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部