`
LoveZhou
  • 浏览: 272426 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android TextSwitcher(文字交换器)的使用

阅读更多
TextSwitcher 字面理解是文字交换器,是ViewSwitcher的子类,从ViewSwitcher来看,是View交换器,TextSwitcher继承自ViewSwitcher,显然是交换TextView。
效果图:


应用分为三步:
1.得到 TextSwitcher 实例对象
  TextSwitcher switcher = (TextSwitcher) findViewById(R.id.textSwitcher);
2.为switcher指定ViewSwitcher.ViewFactory工厂,该工厂会产生出转换时需要的View
  switcher.setFactory(this);
3.为switcher设定显示的内容,该方法执行,就会切换到下个View
  switcher.setText(String.valueOf(new Random().nextInt()));

其中 要实现ViewSwitcher.ViewFactory中的makeView()方法
// 重写 ViewSwitcher.ViewFactory 的 makeView()方法,返回一个 View,TextSwitcher 交换时使用
@Override
public View makeView() {
TextView textView = new TextView(this);
textView.setTextSize(36);
return textView;
}

如果不适用ViewSwitcher.ViewFactory,也可以使用下面的方式代替
//如果不用switcher.setFactory()方法设置转换时的View,也可以调用两次switcher.addView(view,index,params);
//其中view为要切换的View,index为索引,params是添加时的宽,高参数
// TextView textView1 = new TextView(this);
// textView1.setTextSize(36);
// textView1.setTextColor(Color.RED);
// TextView textView2 = new TextView(this);
// textView2.setTextSize(36);
// textView2.setTextColor(Color.YELLOW);
// switcher.addView(textView1, 0,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
// switcher.addView(textView2, 1,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));

代码:
package com.zhou.activity;

import java.util.Random;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.TextSwitcher;
import android.widget.TextView;
import android.widget.ViewSwitcher;

public class TextSwitcherActivity extends Activity implements ViewSwitcher.ViewFactory{
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		this.setContentView(R.layout.textswithcer);
		//设置标题
		setTitle("文字转换器");
		//取得文字转换器
		final TextSwitcher switcher = (TextSwitcher) findViewById(R.id.textSwitcher);
		// 指定转换器的 ViewSwitcher.ViewFactory,ViewSwitcher.ViewFactory会为TextSwitcher提供转换的View
		switcher.setFactory(this);
		
		//如果不用switcher.setFactory()方法设置转换时的View,也可以调用两次switcher.addView(view,index,params);
		//其中view为要切换的View,index为索引,params是添加时的宽,高参数
//		TextView textView1 = new TextView(this);
//		textView1.setTextSize(36);
//		textView1.setTextColor(Color.RED);
//		TextView textView2 = new TextView(this);
//		textView2.setTextSize(36);
//		textView2.setTextColor(Color.YELLOW);
//		switcher.addView(textView1, 0,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
//		switcher.addView(textView2, 1,new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
		
		// 设置转换时的淡入和淡出动画效果(可选)
		Animation in = AnimationUtils.loadAnimation(this, android.R.anim.fade_in);
		Animation out = AnimationUtils.loadAnimation(this, android.R.anim.fade_out);
		switcher.setInAnimation(in);
		switcher.setOutAnimation(out);

		// 单击一次按钮改变一次文字
		Button btnChange = (Button) this.findViewById(R.id.btnChange);
		btnChange.setOnClickListener(new View.OnClickListener() {
			@Override
			public void onClick(View v) {
				//为TextSwitcher设置显示内容,执行一次switcher.setText()方法,就会切换到下一个View
				switcher.setText(String.valueOf(new Random().nextInt()));
			}
		});
	}
	// 重写 ViewSwitcher.ViewFactory 的 makeView()方法,返回一个 View,TextSwitcher 交换时使用
	@Override
	public View makeView() {
		TextView textView = new TextView(this);
		textView.setTextSize(36);
		return textView;
	}
}
  • 大小: 10.6 KB
  • 大小: 10.4 KB
分享到:
评论
2 楼 LoveZhou 2011-03-23  
w11h22j33 写道
支持一下

谢谢
1 楼 w11h22j33 2011-03-23  
支持一下

相关推荐

    Android 中textSwitcher与imageSwitcher的使用

    在Android开发中,`TextSwitcher`和`ImageSwitcher`是两种非常实用的视图切换组件,主要用于在界面上动态地展示文本或图像。它们都继承自`ViewSwitcher`类,提供了一种平滑过渡的效果,使得界面在内容更新时更加流畅...

    TextSwitcher实现文字上下左右滚动

    在Android开发中,`TextSwitcher` 是一个用于创建文本切换动画效果的视图组件,常用于实现广告条或信息提示区域的文字上下左右滚动效果。它继承自`ViewSwitcher`,并内置了平滑过渡的动画,使得文本在切换时更加自然...

    Android TextSwitcher文本切换器和ViewFlipper使用详解

    本文为大家分享了Android TextSwitcher文本切换器的使用,供大家参考,具体内容如下 1.TextSwitcher  使用: 应用分为三步: 1.得到 TextSwitcher 实例对象  TextSwitcher switcher = (TextSwitcher) ...

    Android TextSwitcher Demo

    本实例"Android TextSwitcher Demo"旨在展示如何有效地使用`TextSwitcher`来实现文本的平滑过渡。 `TextSwitcher`继承自`ViewSwitcher`类,它提供了内置的淡入淡出动画,使得文本在更新时不会突然跳变,而是以一种...

    android-TextSwitcher-master.zip

    android-TextSwitcher-master.zip对你的学习会有帮助的

    Android TextSwitcher实现文字上下翻牌效果(铜板街)

    总的来说,Android的TextSwitcher控件结合自定义动画和定时器,能够轻松创建出吸引人的文字切换效果,如文中提到的上下翻牌。开发者可以根据实际需求调整动画效果和切换间隔,以适应不同应用场景。

    TextSwitcher:仿京东、淘宝滚动小广播,实现文字轮播滚动

    这个控件属于ViewSwitcher家族,是Android SDK提供的一种视图切换器,专门用于显示和切换文本内容,非常适合创建文字轮播滚动的效果。 TextSwitcher的工作原理是通过动画来平滑地从一个TextView切换到另一个...

    TextView实现文字的跑马灯效果&TextSwitcher实现文字竖直飞出和飞入

    `TextView`和`TextSwitcher`都是Android SDK提供的重要组件,它们用于显示文本信息。在这个话题中,我们将深入探讨如何利用`TextView`实现跑马灯效果以及如何通过`TextSwitcher`实现文字竖直飞出和飞入的动画效果。 ...

    TextSwitcher

    使用`TextSwitcher`实现多个文字从下到上轮播出现,首先需要在XML布局文件中添加`TextSwitcher`组件,并设置相应的属性,如宽高、字体样式等。接着,你可以通过编程方式动态地向`TextSwitcher`添加文本内容。这里...

    图片轮播 文字轮播 ImageSwitcher TextSwitcher

    综上所述,ImageSwitcher和TextSwitcher是Android开发中实现图片和文字轮播的有力工具。理解它们的工作原理,掌握使用技巧,可以让你的应用界面更加生动活泼,提升用户体验。在实际应用中,应结合性能优化和自定义...

    TextSwitcher垂直滚动文字广告demo

    这个“TextSwitcher垂直滚动文字广告demo”项目可以帮助开发者了解和掌握TextSwitcher的使用,以及如何在实际应用中实现类似滚动广告的特效。通过学习这个项目,开发者可以提升自己在Android UI设计和动画处理方面的...

    Android开发实现自动切换文字TextSwitcher功能示例

    例如,可以将TextSwitcher与图片轮播器一起使用,形成图文并茂的展示方式。 总的来说,TextSwitcher是Android开发中一个非常有用的组件,它简化了在UI上实现文本内容自动切换的流程。通过理解其工作原理和正确使用...

    Android 上下滚动TextSwitcher实例详解

    在Android开发中,...5. 使用线程和Handler(或计时器)来周期性地更新TextSwitcher的文本,并实现循环滚动。 通过这种方式,你可以创建一个吸引人的、可滚动的文本展示效果,为你的Android应用增添动态元素。

    自定义TextSwitcher实现文本自动垂直滚动

    在Android开发中,TextSwitcher是一个非常有用的组件,它用于在两个TextView之间切换文本,通常用于显示动态更新的信息。然而,标准的TextSwitcher仅支持水平滚动,如果想要实现文本的垂直滚动效果,我们就需要对其...

    textswitcher的官方demo

    在Android开发中,TextSwitcher是一个非常有用的视图组件,它允许开发者实现文本内容的平滑切换,通常伴有动画效果,提升用户体验。本教程将详细讲解`TextSwitcher`的官方示例及其核心知识点。 首先,`TextSwitcher...

    ViewSwitcher实例ImageSwitcher和TextSwitcher免费demo

    在需要动态改变文字信息,如加载实时更新的数据或显示提示信息时,TextSwitcher是一个很好的选择。 在实际应用中,这两个控件的使用步骤大致如下: 1. **在XML布局文件中添加ImageSwitcher或TextSwitcher**: - ...

Global site tag (gtag.js) - Google Analytics