TextView是Android中使用频率最高的控件,本文旨在总结平时用到的TextView的一些用法,及从网上看到的平时不常用的用法。本文主要会是一些博文链接。
一、属性用法
1、drawable属性
2、EditText不获取焦点
方法一:
让EditText失去焦点,使用EditText的clearFocus方法 例如: EditText edit=(EditText)findViewById(R.id.edit); edit.clearFocus();方法二:
在layout的xml文件中设置EditText的上级控件android:focusable="true" android:focusableInTouchMode="true"; 即可将焦点拦截,让EditText不自动获取焦点。3、添加下划线
(1)下划线
textView.getPaint().setFlags(Paint. UNDERLINE_TEXT_FLAG ); //下划线
textView.getPaint().setAntiAlias(true);//抗锯齿
(2)中划线
textview.getPaint().setFlags(Paint. STRIKE_THRU_TEXT_FLAG); //中划线
setFlags(Paint. STRIKE_THRU_TEXT_FLAG|Paint.ANTI_ALIAS_FLAG); // 设置中划线并加清晰
(3)取消中划线或者下划线
textView.getPaint().setFlags(0); // 取消设置的的划线
(4)xml中添加下划线
a、在资源文件中定义字符串,使用标签处理<string name="zhucexieyi"><b>用户注册协议</b></string>
b、在xml文件中引用这个资源文件
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
//这里引用
android:text="@string/zhucexieyi"/>
4、设置行间距和字间距
http://blog.csdn.net/ljz2009y/article/details/22087575
5、设置不同字体和颜色
(1)设置不同字体和颜色SpannableStringBuilder为文本设置不同字体大小,颜色
(2)文字渐变色
private fun getLinearGradient(length: Float): LinearGradient {
val colors = arrayOf(Color.parseColor("#988770"), Color.parseColor("#cba87b"), Color.parseColor("#633f20")).toIntArray()
val positions = arrayOf(0.2f, 0.5f, 0.8f).toFloatArray()
return LinearGradient(0f, 0f, length, 10f, colors, positions, Shader.TileMode.CLAMP)
}
private fun setTextColor() {
val topLength = tv_top_title.paint.measureText(tv_top_title.text.toString().trim())
var shader = getLinearGradient(topLength)
tv_top_title.paint.shader = shader
}
效果如下:
6、EditText InputType详解
http://blog.csdn.net/qq_16064871/article/details/44701727
7、禁止换行
8、EditText属性大全
二、拓展应用
1、动态从string中加载文字
2、缩进
Textview首行缩进
Textview第二行缩进/悬挂缩进:能够实现如下效果: