2.2 TextView

1.常用属性

         字间距:textScaleX(控制文本水平方向的缩放,默认值1.0f)

         行间距:lineSpacingExtra:3dp        lineSpacingMultiplier:1.2 (设置行间距的倍数)

         自动换行:singleLine = "false"


2.带阴影的TextView

          android:shadowColor:设置阴影颜色,需要与shadowRadius一起使用哦!

          android:shadowRadius:设置阴影的模糊程度,设为0.1就变成字体颜色了,建议使用3.0

          android:shadowDx:设置阴影在水平方向的偏移,就是水平方向阴影开始的横坐标位置

          android:shadowDy:设置阴影在竖直方向的偏移,就是竖直方向阴影开始的纵坐标位置


3.带边框的TextView(设置shape)

            <solid android:color = "xxx"> 这个是设置背景颜色的            //solid:实心的(填充)

            <stroke android:width = "xdp" android:color="xxx"> 这个是设置边框的粗细,以及边框颜色的        //stroke:描边

            <padding androidLbottom = "xdp"...> 这个是设置边距的

            <corners android:topLeftRadius="10px"...> 这个是设置圆角的

            <gradient> 这个是设置渐变色的,可选属性有:startColor:起始颜色endColor:结束颜色centerColor:中间颜色angle:方向角度,等于0时,从左到右,然后逆时针方向转,当angle = 90度时从下往上type:设置渐变的类型


4.带图片(drawableXxx)的TextView

        核心其实就是:drawableXxx;可以设置四个方向的图片,这样设置的drawable并不能自行设置大小 

        Drawable[] drawable=tv.getCompoundDrawables(); //获得四个不同方向上的图片资源,数组元素依次是:左上右下的图片

        drawable[1].setBounds(100, 0, 200, 200);  //接着获得资源后,可以调用setBounds设置左上右下坐标点,比如这里设置了代表的是: 长是:从离文字最左边开始100dp处到200dp处 宽是:从文字上方0dp处往上延伸200dp

         tv.setCompoundDrawables(drawable[0], drawable[1], drawable[2], drawable[3]);为TextView重新设置drawable数组!没有图片可以用null代替哦! PS:另外,从上面看出我们也可以直接在Java代码中调用setCompoundDrawables为 TextView设置图片


5.使用autoLink属性识别链接类型

   1. xml: all就是全部都包含,自动识别协议头(phone,email,web.....)

              android:text="http://www.baidu.com"

              android:autoLink="all"

   2.java代码

              setAutoLinkMask(Linkify.ALL);

              setMovementMethod(LinkMovementMethod.getInstance()); 要加不然点击了是没效果的


6.TextView玩转HTML

              <font>:设置颜色和字体。

              <big>:设置字体大号

              <small>:设置字体小号 

              <i><b>:斜体粗体

              <a>:连接网址

              <img>:图片

2.2 TextView_第1张图片

7.SpannableString&SpannableStringBuilder定制文本

         除了上面的HTML可以定制我们TextView的样式外,还可以使用SpannableString和SpannableStringBuilder来完成。两者区别:前者针对的是不可变文本,而后者则是针对可变文本

        SpannableString span=new SpannableString("红色打电话斜体删除线绿色下划线");

        //1.设置背景色,setSpan时需要指定的flag,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE(前后都不包括)

        span.setSpan(newForegroundColorSpan(Color.RED),0,2,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

        //2.用超链接标记文本

        span.setSpan(newURLSpan("tel:4155551212"),2,5,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

        //3.用样式标记文本(斜体)

        span.setSpan(newStyleSpan(Typeface.BOLD_ITALIC),5,7,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

        //4.用删除线标记文本

        span.setSpan(newStrikethroughSpan(),7,10,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

        //5.用下划线标记文本

        span.setSpan(newUnderlineSpan(),10,16,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);


8.实现部分可点击的TextView(核心:ClickableSpan的设置)


2.2 TextView_第2张图片
2.2 TextView_第3张图片

9.实现跑马灯效果的TextView

2.2 TextView_第4张图片

10.TextView异步获取行数

2.2 TextView_第5张图片

你可能感兴趣的:(2.2 TextView)