一、文字显示行数设置
1. 仅显示一行文字
android:singleLine="true"
setTransformationMethod(TransformationMethod)
2. 设置最多显示几行文字
android:maxLines="3"
TextView.setMaxLines(3);
3. 设置文字最大显示行数后,可是文字可能显示不全。能够设置省略符号。表示还有内容还未显示
android:ellipsize="end"
end - 省略号在结尾。最经常使用方式
start - 省略号在开头
middle - 省略号在中间
marquee - 跑马灯显示,总是运行文字滚动动画。影响性能
4. 不显示padding
android:includeFontPadding="false"
5. 行间距
android:lineSpacingExtra=""
二、文字显示长度设置
1. 设置最大显示长度。单位是px
android:maxWidth="" / TextView.setMaxWidth(int)
左中右三个TextView 使用 RelativeLayout 布局, 中间的文字假设会改变长度的话,不会自己主动调整,导致右側文字还是靠右
使用maxWidth能够解决以上问题
2. 最多显示字符个数
android:maxLength="" / TextView.setFilters(InputFilter)
不会区分中文还是英文。比如设置3,能够显示3个汉字,可是也仅能显示3个英文单字。
3. 动态改动文字大小
须要注意。不能直接使用TextView.setSize(pxValue);
setTextSize (TypedValue.COMPLEX_UNIT_PX, pxValue);
文字大小类型详见TypedValue文档
三、TextView 设置不相同式文本
1. 文字占位符
有些时候一段字符大部分都是固定的。仅中间一两位是变动的,并且想在string.xml中进行声明文本部分。比如:“2015年03月14日”
在res/values/string.xml中
<resources>
<string name="date">2015年03月%1$d日</string>
</resources>
textView.setText(getResoure.getString(R.string.date, 14));
$d 是占位符,很多其它信息详见文档
Formatter
http://developer.android.com/reference/java/util/Formatter.html
2. 一行文字多种颜色
<resources>
<string name="love_world"><font color=\"#aaaaaa\">%1$s文字部分</font></string>
</resources>
使用时须要
String string = getResources().getString(R.string.love_world, nameStr);
TextView.setText(Html.fromHtml(string));
3. 点击文字改变颜色
textView.setTextColor( getResources().getColorStateList(R.color.selector) );
四、 android drawTextTextView注意
忽略了baseLine 到 Bottom的距离
五、设置文字使用什么单位
文字大小使用dip。由于即使屏幕密度同样的不同手机sp转换为px的值不一致