TextView和EidtText使用技巧

TextView

1、TextView同时显示图片和文字

图片距离文字的距离 :android:drawablePadding;
在文本框左边绘制指定图像 :android:drawableLeft;
在文本框右边绘制指定图像 :android:drawableRight;
在文本框上边绘制指定图像 :android:drawableTop;
在文本框下边绘制指定图像 : android:drawableBottom;
2、单行文本

android:singleLine
3、显示文本超过了TextView长度后处理文本内容

android.ellipsize; 
属性值: 
none:不做任何处理; 
start:文本开始处截断, 显示省略号;
middle:文本中间截断, 显示省略号;
end:文本结尾处截断, 显示省略号;
marquee:使用marquee滚动动画显示文本;

4、TextView默认行间距比较窄,不美观。我们可以设置每行的行间距:

//设置行间距,如”8dp”
android:lineSpacingExtra
//设置行间距的倍数,如”1.5″
android:lineSpacingMultiplier

5、跑马灯效果

android:singleLine="true"  单行显示
android:ellipsize="marquee"  省略形式为跑马灯
android:focusable="true"   可以获得焦点
android:marqueeRepeatLimit="marquee_forever"  无限重复
android:focusableInTouchMode="true"  触摸模式下可以获得焦点


EditText

1、输入框输入类型

android:inputType="textPassword"  文字密码(数字、字符等)
android:inputType="numberPassword" 数字密码(只能输入数字)
android:inputType="phone" 电话号码类型,只能输入数字、-、#、*几种字符

android:inputType = "number" 属性设置数字
android:inputType = "phone" 属性设置电话
android:inputType = "data" 属性设置日期
android:inputType = "numberPassword" 属性设置该输入框输入密码

2、限定edittext只能输入数字和字母,并且默认输入为数字,如身份证号码

android:inputType="number"
android:digits="0123456789xX"
3、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。

4、光标位置

String string = "hjfdskhj";
if (string != null) {
	//设置光标位置
	mEdt.setSelection(string.length());
}

5、文本变化监听

mEt.addTextChangedListener(new TextWatcher() {
	// 文本改变时的回调
	@Override
	public void onTextChanged(CharSequence s, int start, int before, int count) {

	}
	@Override
	public void beforeTextChanged(CharSequence s, int start, int count, int after) {

	}
	@Override
	public void afterTextChanged(Editable s) {
		String string = s.toString().trim();
		//string就是文本框的内容
	}
});



TextUtil用法

TextUtils.isEmpty(confirm)
TextUtils.equals(pwd, confirm)
//将数组转换成链接后的字符串:[1,2,3,4] ->  "1+2+3+4"
TextUtils.join("+", array);
//切割字符串成数组: "1+2+3+4" ->  [1,2,3,4]
TextUtils.split("1+2+3+4", "+");


待续。。。

你可能感兴趣的:(UI)