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第二行縮進/懸掛縮進:能夠實現如下效果: