砖垛之edittext

编程入门 行业动态 更新时间:2024-10-09 02:27:17

砖垛之<a href=https://www.elefans.com/category/jswz/34/1760517.html style=edittext"/>

砖垛之edittext

默认隐藏输入弹窗
在当前edtxet的上一级布局里加上

 android:focusable="true"android:focusableInTouchMode="true"

还可以在AndroidManifest.xml中将需要默认隐藏键盘的Activity中添加属性

android:windowSoftInputMode="adjustUnspecified|stateHidden"
android:configChanges="orientation|keyboardHidden"

隐藏边框和下划线

 android:background="@null"

hint位置

android:gravity="top|left"

不可编辑
1.不可编辑但是会弹出输入法

Android:editable="false" 

2.不可编辑同时不会弹出输入法

android:focusable="false"

指定输入类型

1.限制输入类型

代码:et_lxnr.setInputType(InputType.TYPE_TEXT_VARIATION_LONG_MESSAGE);
xml:android:inputType="number"//文本类型,多为大写、小写和数字符号。 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"//URI格式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"//拼音输入格式//数值类型android:inputType="number"//数字格式android:inputType="numberSigned"//有符号数字格式android:inputType="numberDecimal"//可以带小数点的浮点格式android:inputType="phone"//拨号键盘android:inputType="datetime"//日期+时间格式android:inputType="date"//日期键盘android:inputType="time"//时间键盘

限制输入长度(如限制输入最大长度10)

代码:et_lxnr.setFilters(new InputFilter[]{new InputFilter.LengthFilter(10)});
xml:android:maxLength="10"

限制输入固定的某些字符(如123456xyz)

代码:et_lxnr.setKeyListener(DigitsKeyListener.getInstance(“123456xyz”);
xml:android:digits="@string/input_num_character"

监听输入变化

mEditText = (EditText) findViewById(R.id.et);/*** 监听EditText框中的变化*/mEditText.addTextChangedListener(new TextWatcher() {private CharSequence temp;private int editStart;private int editEnd;/*** 文本变化之前* @param s* @param start* @param count* @param after*/@Overridepublic void beforeTextChanged(CharSequence s, int start, int count, int after) {temp = s;}/*** 文本变化中* @param s* @param start* @param before* @param count*/@Overridepublic void onTextChanged(CharSequence s, int start, int before, int count) {mTextView.setText("输入的结果为:"+s);}/*** 文本变化之后* @param s*/@Overridepublic void afterTextChanged(Editable s) {editStart = mEditText.getSelectionStart();editEnd = mEditText.getSelectionEnd();if (temp.length() > 10) {//限制长度Toast.makeText(MainActivity.this,"输入的字数已经超过了限制!", Toast.LENGTH_SHORT).show();s.delete(editStart - 1, editEnd);int tempSelection = editStart;mEditText.setText(s);mEditText.setSelection(tempSelection);}}});

获取焦点
1.监听

EditText searchView = (EditText) findViewById(R.id.search_text);
searchView.setOnFocusChangeListener(new android.view.View.OnFocusChangeListener() {@Overridepublic void onFocusChange(View v, boolean hasFocus) {if (hasFocus) {// 此处为得到焦点时的处理内容} else {// 此处为失去焦点时的处理内容}}
});

2.设置

searchView.setFocusable(true);
searchView.setFocusableInTouchMode(true);
searchView.requestFocus();searchView.clearFocus();//失去焦点
searchView.requestFocus();//获取焦点

设置光标位置

EditText et = (EditText)findViewById(R.id.inbox);
et.setSelection(et.getText().length());

修改光标颜色

1.设置和字体颜色一样

android:textCursorDrawable="@null",//"@null"作用是让光标颜色和textcolor一样

2.自定义颜色等

(1)新建drawable文件

<?xml version="1.0" encoding="utf-8"?>  
<shape xmlns:android="" android:shape="rectangle">  <size android:width="1dp" />  <solid android:color="#008000"  />  
</shape> 

(2)设置

android:textCursorDrawable="@drawable/color_cursor"

属性

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"
文字外观,这里引用的是系统自带的一个外观,?表示系统是否有这种外观,否则使用默认的外观。不知道这样理解对不对?通过EditText的layout xml文件中的相关属性来实现:1. 密码框属性 android:password="true"  这条可以让EditText显示的内容自动为星号,输入时内容会在1秒内变成*字样。2. 纯数字 android:numeric="true" 这条可以让输入法自动变为数字输入键盘,同时仅允许0-9的数字输入3. 仅允许 android:capitalize="cwj1987" 这样仅允许接受输入cwj1987,一般用于密码验证

更多推荐

砖垛之edittext

本文发布于:2024-02-28 06:12:37,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1768432.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:edittext

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!