Android UI学习之TextView

2022-05-08 15:53:04 浏览数 (1)

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 = "我的电话: 18903665845n";
		s1  = "我的网站:www.hao345.comn";
		s1  = "我的Email: hao@345.com";
		
		textView1.setText(s1);
	}

模拟器显示如下:

注意: 要想让电话, 网址,以及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());

模拟器运行效果:

例子三: 实现一串文字的滚动效果

代码语言: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"                   必须要设置

好的, 今天的课程就到这里。

0 人点赞