TextView使用完全讲解

设置文字边缘的图片

android:drawableBottomtext的下方添加一个Drawable图片
android:drawableLefttext的左边添加一个Drawable图片
android:drawableToptext的上方添加一个Drawable图片
android:drawableRighttext的右边添加一个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" />

延伸:maxEms和maxLength的属性区别

文字下划线

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);

效果
TextView使用完全讲解_第1张图片

你可能感兴趣的:(android,textview,使用讲解)