关于editext笔记

来源:互联网 发布:太阳能热水器 知乎 编辑:程序博客网 时间:2024/06/11 00:07

我们经常用到edittext,我觉得我平时记忆力差吧,每次使用时只模糊的记得有这个东西,有这种效果和方法,但却忘记了具体怎么实现的,趁今天有时间,赶紧几个笔记方便日后查阅,这样就不用再去百度了。

xml中的常用属性:

android:password="true"  //显示密码样式

Android:phoneNumber=”true”  //输入电话号码

android:maxLength=“50”  //字数限制

android:typeface="monospace" //设置字型。字形有:normal, sans, serif,monospace

Android:editable // 是否可编辑

android:hint="请输入数字!"//设置显示在空间上的提示信息
android:numeric="integer"//设置只能输入整数,如果是小数则是:decimal
android:singleLine="true"//设置单行输入,一旦设置为true,则文字不会自动换行。

android:textStyle="bold"//字体,bold, italic, bolditalic
android:capitalize = "characters"//以大写字母写
android:textAlign="center"//EditText没有这个属性,但TextView有,居中
android:textColorHighlight="#cccccc"//被选中文字的底色,默认为蓝色
android:textColorHint="#ffff00"//设置提示信息文字的颜色,默认为灰色android:textScaleX="1.5"//控制字与字之间的间距

android:textAppearance="?android:attr/textAppearanceLargeInverse"//文字外观

android:autoText //自动拼写帮助

android:digits //设置只接受某些数字

android:autoLink="all" //设置文本超链接样式当点击网址时,跳向该网址

android:ellipsize设置当文字过长时,该控件该如何显示。有如下值设置:"start"—?省略号显示在开头;"end"——省略号显示在结尾;"middle"—-省略号显示在中间;"marquee" ——以跑马灯的方式显示(动画横向移动)

android:cursorVisible="false" 隐藏光标

edittext在代码中的属性:

editText.setFilters(new InputFilter[]{newInputFilter.LengthFilter(100)});  //设置最大长度

Selection.setSelection(etdittext.getText(),etdittext.getText().lenth());  //设置光标

当EidtText无焦点(focusable=false)时阻止输入法弹出

 InputMethodManager imm =

(InputMethodManager)getSystemService(INPUT_METHOD_SERVICE); 

 imm.hideSoftInputFromWindow(editText.getWindowToken(),0);

(3)调用数字键盘并设置输入类型和键盘为英文

etNumber.setInputType(InputType.TYPE_CLASS_NUMBER); //调用数字键盘

rlEditText.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE);//设置输入类型和键盘为英文 或者:android:inputType="textUri|textMultiLine"

//关闭键盘(比如输入结束后执行) InputMethodManager imm =(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(etEditText.getWindowToken(), 0);


(1)actionUnspecified未指定,对应常量EditorInfo.IME_ACTION_UNSPECIFIED效果:

(2)actionNone 没有动作,对应常量EditorInfo.IME_ACTION_NONE效果:

(3)actionGo去往,对应常量EditorInfo.IME_ACTION_GO 效果:

(4)actionSearch 搜索,对应常量EditorInfo.IME_ACTION_SEARCH效果: 

(5)actionSend 发送,对应常量EditorInfo.IME_ACTION_SEND效果:

(6)actionNext 下一个,对应常量EditorInfo.IME_ACTION_NEXT效果:

(7)actionDone 完成,对应常量EditorInfo.IME_ACTION_DONE效果:


使用android:imeOptinos可对Android自带的软键盘进行一些界面上的设置:

android:imeOptions="flagNoExtractUi" //使软键盘不全屏显示,只占用一部分屏幕 同时,这个属性还能控件软键盘右下角按键的显示内容,默认情况下为回车键 android:imeOptions="actionNone" //输入框右侧不带任何提示 android:imeOptions="actionGo"   //右下角按键内容为'开始' android:imeOptions="actionSearch" //右下角按键为放大镜图片,搜索 android:imeOptions="actionSend"   //右下角按键内容为'发送' android:imeOptions="actionNext"  //右下角按键内容为'下一步' android:imeOptions="actionDone" //右下角按键内容为'完成'

软键盘的调起导致原来的界面被挤上去,或者导致界面下面的tab导航被挤上去,解决方法如下

解决方法:

使用Manifest中的Activity的android:windowSoftInputMode的"adjustPan"属性。

另外注意:有关软键盘的问题可参考android:windowSoftInputMode中属性。


edittext的事件:

editText.addTextChangedListener(newTextWatcher(){

@Overridepublicvoid onTextChanged(CharSequence text,int start,int before,int count){

//text 输入框中改变后的字符串信息

//start 输入框中改变后的字符串的起始位置

//before 输入框中改变前的字符串的位置 默认为0

//count 输入框中改变后的一共输入字符串的数量

}

@Overridepublicvoid beforeTextChanged(CharSequence text,int start,int count,int after){//text 输入框中改变前的字符串信息

//start 输入框中改变前的字符串的起始位置

//count 输入框中改变前后的字符串改变数量一般为0

//after 输入框中改变后的字符串与起始位置的偏移量}

@Overridepublicvoid afterTextChanged(Editable edit){

//edit 输入结束呈现在输入框中的信息 }});







1 0
原创粉丝点击