TextView用于非常的广泛,Textview里面不仅可以显示文字,还可以显示图片。 就我们日常生活中见到的文字都可以理解为TextView。
那下面就用几个例子来学习常见的TextView
例1: 实现网址,电话号码,Email的超链接
代码语言:javascript
复制
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_textview);
textView1 = (TextView)findViewById(R.id.textView1);
textView2 = (TextView)findViewById(R.id.textView2);
textView3 = (TextView)findViewById(R.id.textView3);
//例子1: 显示电话, 网址, Email的超链接
String s1 = "我的电话: 18903665845\n";
s1 += "我的网站:www.hao345.com\n";
s1 += "我的Email: hao@345.com";
textView1.setText(s1);
}</code></pre></div></div><p>
模拟器显示如下:
注意: 要想让电话, 网址,以及Email出现超链接, 该TextView必须有如下属性:
代码语言:javascript复制android:autoLink="all" 我选择的是all, 也就是所有的都会出现超链接
例子2: 一行文字中就某2个特殊颜色的字,实现超链接
代码语言:javascript复制 //例子2: 实现某特殊字实现超链接
String s2 = "我是雷锋,请点我!";
//实现一个字符串拆分器
SpannableString string = new SpannableString(s2);
/*参数说明: 第一个:被拆分的字到底要干啥
第二个:从哪里开始
第三个:从哪里结束
第四个:拆分的方式,是包含前后,还是包含等
*/
string.setSpan(new ClickableSpan() {
@Override
public void onClick(View widget) {
Toast.makeText(TextViewActivity.this, "不用谢!", Toast.LENGTH_SHORT).show();
}
}, 5, 8, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textView2.setText(string);
//设置事件的方式
textView2.setMovementMethod(LinkMovementMethod.getInstance());</code></pre></div></div><p>
模拟器运行效果:
例子三: 实现一串文字的滚动效果
代码语言:javascript复制 //例子3: 实现一串文字滚动
String s3 = "Android是一种以Linux与JAVA为基础的开放源代码操作系统,主要使用于便携设备。中国大陆地区较多人使用“安卓”。Android操作系统最初由Andy Rubin开发,被谷歌收购后则由Google公司和开放手机联盟领导及开发,主要支持手机与平板";
textView3.setText(s3);
模拟器效果:
注意: 要实现跑马灯类似的效果,必须给该TextView设置相应的属性:
代码语言:javascript复制 android:singleLine="true" 单行显示
android:ellipsize="marquee" 如何显示单行显示不下,用循环滚动的方式呈现
android:marqueeRepeatLimit="marquee_forever" 循环次数是无限循环
android:focusable="true" 必须要设置
android:focusableInTouchMode="true" 必须要设置
好的, 今天的课程就到这里。