设置文字边缘的图片
android:drawableBottom 在text的下方添加一个Drawable图片
android:drawableLeft 在text的左边添加一个Drawable图片
android:drawableTop 在text的上方添加一个Drawable图片
android:drawableRight 在text的右边添加一个Drawable图片
如果要控制图片和Text的距离, 可以用 android:drawablePadding
显示双引号
<TextView
style="@style/TextStyle"
android:text="message \"quote string 1\" and"
android:id="@+id/lblAboutPara3"
android:autoLink="web"/>
//斜杠转义 \" 就可以了
//诸如“?”、“'”、“\”等符号时,必须使用转义字符(\),如: \? \' \\
文本字数限定
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxEms="11"
android:singleLine="true"
android:text="设置超出11个长度时显示省略号"
android:textSize="14dp" />
文字下划线
textView.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
显示不同大小的文字
SpannableStringBuilder spannable = new SpannableStringBuilder(getResources().getString(R.string.release_add_pic_text1));// 用于可变字符串
AbsoluteSizeSpan span_2 = new AbsoluteSizeSpan(30);// 字体大小
AbsoluteSizeSpan span_3 = new AbsoluteSizeSpan(24);// 字体大小
spannable.setSpan(span_2, 0, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(span_3, 5, 8, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(span_2, 9, 9, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
tvAddPic.setText(spannable);
设置Textsize的单位
TextView中的getTextSize返回值是以像素(px)为单位的,
而setTextSize()是以sp为单位的.所以如果直接用返回的值来设置会出错,解决办法是用setTextSize()的另外一种形式,可以指定单位:
setTextSize(int unit, int size)
TypedValue.COMPLEX_UNIT_PX : Pixels //PX
TypedValue.COMPLEX_UNIT_SP : Scaled Pixels //SP
TypedValue.COMPLEX_UNIT_DIP : Device Independent Pixels //DP
中文设置成粗体
在xml文件中使用android:textStyle=”bold”
可以将英文设置成粗体,但是不能将中文设置成粗体,将中文设置成粗体的方法是:
TextView tv = (TextView)findViewById(R.id.TextView01);
TextPaint tp = tv.getPaint();
tp.setFakeBoldText(true);
图文混排
SpannableString result = new SpannableString(content);
Drawable drawable = getResources().getDrawable(id);
ImageSpan imageSpan = new ImageSpan(drawable);
// 根据字体大小加载图片
if (imageSpan != null) {
result.setSpan(imageSpan, 0, content.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
new TextView(content).setText(result);
效果