概述
这节课主要讲的是TextView组件,通过几个效果来带大家认识这个组件。第一个是文字大小、颜色这些基本属性的设置;第二个是通常使用一段文本,内容显示不下使用...;第三个是中划线和下划线;最后一个是跑马灯的效果,就是一段文字一直在巡回跑。通过这四个效果,大家常用的属性就都可以掌握了。
演示
1、创建新的android工程
2、打开AVD
http-dev-server->vnc_lite.html->ADV
3、将布局修改为线性布局管理器,添加TextView组件,设置id为tv1,高和宽为内容自身大小,文字为松鼠学苑,字体颜色为蓝色,字体大小为24sp
<TextView
android:id="@+id/tv1"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="松鼠学苑"
android:textColor="#0000FF"
android:textSize="24sp"/>
运行:build->run...run android app
4、添加一个id为TextView的组件,宽度为50dp,高度为自身内容高度,android: maxLines为控制行数,行数为1,android:ellipsize="end"为省略号在结尾
<TextView
android:id="@+id/tv2"
android:layout_height="wrap_content"
android:layout_width="50dp"
android:text="松鼠学苑"
android:maxLines="1"
android:ellipsize="end"
android:textColor="#0000FF"
android:textSize="24sp"/>
运行:注意要先删除上一个工程
uninstall...uninstall and ...->build->run... run android app
5、添加中划线,在activity_main.xml中添加TextView组件,id为3;通过java代码实现锯齿效果,R表错是因为不识别R,编译的时候可以正常运行 activity_main.xml:
<TextView
android:id="@+id/tv3"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="松鼠学苑"
android:textColor="#0000FF"
android:textSize="24sp"/>
HelloAndroidActivity.java:
private TextView mTv3;
mTv3 = (TextView)findViewById(R.id.tv3);
mTv3.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
mTv3.getPaint().setAntiAlias(true); //消除锯齿效果
6、添加下划线,在activity_main.xml中添加id为4的TextView组件;在HelloAndroidActivity.java中添加效果 activity_main.xml:
<TextView
android:id="@+id/tv4"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="松鼠学苑"
android:textColor="#0000FF"
android:textSize="24sp"/>
7、跑马灯效果,
<TextView
android:id="@+id/tv5"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="松鼠学苑松鼠学苑松鼠学苑松鼠学苑松鼠学苑松鼠学苑松鼠学苑"
android:textColor="#0000FF"
android:textSize="24sp"
android:singleLine="true" //单行显示
android:ellipsize="marquee" //跑马灯效果
android:marqueeRepeatLimit="marquee_forever" //循环次数
android:focusable="true" //获得焦点
android:focusableInTouchMode="true" />
重点总结
TextView及其子类,当字符内容太长显示不下时可以省略号代替未显示的字符;省略号可以在显示区域的起始,中间,结束位置,或者以跑马灯的方式显示文字(textview的状态为被选中)。
其实现只需在xml中对textview的ellipsize属性做相应的设置即可。
android:ellipsize="start" 省略号在开头
android:ellipsize="middle" 省略号在中间
android:ellipsize="end" 省略号在结尾
android:ellipsize="marquee" 跑马灯显示