码迷,mamicode.com
首页 > 移动开发 > 详细

Android TextView 常见问题与使用总结

时间:2015-03-14 16:59:25      阅读:6247      评论:0      收藏:0      [点我收藏+]

标签:


一、文字显示行数设置


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">&lt;font color=\"#aaaaaa\"&gt;%1$s文字部分&lt;/font&gt;</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的距离


Android TextView 常见问题与使用总结

标签:

原文地址:http://blog.csdn.net/androiddevelop/article/details/44260581

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!