android:digits="" // 限定输入文本
android:letterSpacing="" // 设置字符间距, 默认0
android:lineSpacingMultiplier="2" // 设置行间距比例, 默认1
android:lineSpacingExtra="15dp" //设置额外行间距,默认0dp
android:textScaleX="2" // 文字横向缩放比,默认1
android:scaleX="2" // 控件View沿X轴拉伸
android:scaleY="8" // 控件View沿Y轴拉伸
android:background="@null" // 去除EditText底部背景线
粗体设置
android:textStyle=”bold” // xml中设置方式
editView.getPaint().setFakeBoldText(true); // 代码设置方式
字体设置
// noraml (普通字体,系统默认使用的字体)
// sans(非衬线字体,与noraml样式相同)
// serif 衬线字体,字体含
// monospace (等宽字体)
android:typeface="monospace" // 设置字型
焦点控制
不让EditText默认就会自动获取焦点, 需要在EditText的 “父级” 控件中添加这两个属性
android:focusable="true"
android:focusableInTouchMode="true"
光标设置
android:cursorVisible="true" //光标设置可见
android:textCursorDrawable="@drawable/color_cursor" // 光标样式设置
drawable/color_cursor 文件代码如下(图片、矢量图均可):
<?xml version="1.0" encoding="UTF-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- 填充的颜色 -->
<solid android:color="@color/colorE7453C" />
<!-- 特别注意:必须明确标明size属性中的宽度,否则光标不可见 -->
<size
android:width="@dimen/width_theme_margin_2"/>
</shape>
光标定位设置
CharSequence text = editText.getText();
if (text instanceof Spannable) {
Spannable spanText = (Spannable)text;
Selection.setSelection(spanText, text.length()); // 方式一
// editText.setSelection(text.length()); // 方式二
editText.requestFocus(); // 显示光标
}
文本长按选中样式设置
android:textSelectHandleLeft // 左边指示器资源文件
android:textSelectHandleRight // 右边指示器资源文件
android:textSelectHandle // 垂直指示器资源文件
android:textColorHighlight // 文本选中高亮颜色
输入类型及键盘行为控制 android:inputType:
“text” 普通文本键盘
“textEmailAddress” 带有@字符的普通文本键盘
“textUri” 带有/字符的普通文本键盘.
“number” 基本数字键盘.
“phone” 电话样式键盘.
“datetime” 时间日期.
“date” 日期.
“textCapSentences” 普通的文本键盘,大写每个新句子的第一个字母.
“textCapWords” 大写每个单词的正常文本键盘.适合标题或人名.
“textAutoCorrect” 正常文本键盘,可纠正拼写错误的字词.
“textPassword” 这个就和设置password="true"是一样的效果.以原点的形式显示输入的文本.
“textMultiLine” 普通文本键盘,允许用户输入包含换行符的长字符串(回车符)
android:imeOptions 与inputType配合 能够设置右下角IME动作与编辑框相关的动作,如actionDone右下角将显示一个“完成”,而不设置默认是一个回车符号,imeOptions可接受的参数及对应大致效果如下:

注意: 这里需要注意的是,如果想让键盘显示Action,需要inputType和imeOptions结合使用才可以,只使用imeOptions是不会有效果的.只会显示默认的换行action.(不同手机的输入法不一样,可能显示的会有差别)
监听键盘action响应事件
EditText editText = (EditText) findViewById(R.id.search);
editText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
boolean handled = false;
if (actionId == EditorInfo.IME_ACTION_SEND) { //点击的按键判断
Toast.makeText(this, "点击actionSearch ", Toast.LENGTH_SHORT).show();
handled = true;
}
return handled;
}
});
软键盘的调起、关闭
1.EditTex有焦点(focusable为true)阻止输入法弹出
editText.setOnTouchListener(new OnTouchListener(){
public boolean onTouch(View view,MotionEvent event){
editText.setInputType(Input.TYPE_NULL);//关闭软键盘
return false;
}});
EditText无焦点(focusable=false)时阻挡输入法弹出
InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getWindowToken(),0);
本文详细介绍了Android中EditText控件的各种属性设置方法,包括文本输入限制、字符间距、行间距、文字缩放、背景移除、字体样式、焦点控制、光标设置、文本长按选中样式、输入类型及键盘行为控制等。通过这些设置,开发者可以精确地控制EditText的外观和行为。
1827

被折叠的 条评论
为什么被折叠?



