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
分享到:
相关推荐
在Android开发中,`TextSwitcher`和`ImageSwitcher`是两种非常实用的视图切换组件,主要用于在界面上动态地展示文本或图像。它们都继承自`ViewSwitcher`类,提供了一种平滑过渡的效果,使得界面在内容更新时更加流畅...
在Android开发中,`TextSwitcher` 是一个用于创建文本切换动画效果的视图组件,常用于实现广告条或信息提示区域的文字上下左右滚动效果。它继承自`ViewSwitcher`,并内置了平滑过渡的动画,使得文本在切换时更加自然...
本文为大家分享了Android TextSwitcher文本切换器的使用,供大家参考,具体内容如下 1.TextSwitcher 使用: 应用分为三步: 1.得到 TextSwitcher 实例对象 TextSwitcher switcher = (TextSwitcher) ...
本实例"Android TextSwitcher Demo"旨在展示如何有效地使用`TextSwitcher`来实现文本的平滑过渡。 `TextSwitcher`继承自`ViewSwitcher`类,它提供了内置的淡入淡出动画,使得文本在更新时不会突然跳变,而是以一种...
android-TextSwitcher-master.zip对你的学习会有帮助的
总的来说,Android的TextSwitcher控件结合自定义动画和定时器,能够轻松创建出吸引人的文字切换效果,如文中提到的上下翻牌。开发者可以根据实际需求调整动画效果和切换间隔,以适应不同应用场景。
这个控件属于ViewSwitcher家族,是Android SDK提供的一种视图切换器,专门用于显示和切换文本内容,非常适合创建文字轮播滚动的效果。 TextSwitcher的工作原理是通过动画来平滑地从一个TextView切换到另一个...
`TextView`和`TextSwitcher`都是Android SDK提供的重要组件,它们用于显示文本信息。在这个话题中,我们将深入探讨如何利用`TextView`实现跑马灯效果以及如何通过`TextSwitcher`实现文字竖直飞出和飞入的动画效果。 ...
使用`TextSwitcher`实现多个文字从下到上轮播出现,首先需要在XML布局文件中添加`TextSwitcher`组件,并设置相应的属性,如宽高、字体样式等。接着,你可以通过编程方式动态地向`TextSwitcher`添加文本内容。这里...
综上所述,ImageSwitcher和TextSwitcher是Android开发中实现图片和文字轮播的有力工具。理解它们的工作原理,掌握使用技巧,可以让你的应用界面更加生动活泼,提升用户体验。在实际应用中,应结合性能优化和自定义...
这个“TextSwitcher垂直滚动文字广告demo”项目可以帮助开发者了解和掌握TextSwitcher的使用,以及如何在实际应用中实现类似滚动广告的特效。通过学习这个项目,开发者可以提升自己在Android UI设计和动画处理方面的...
例如,可以将TextSwitcher与图片轮播器一起使用,形成图文并茂的展示方式。 总的来说,TextSwitcher是Android开发中一个非常有用的组件,它简化了在UI上实现文本内容自动切换的流程。通过理解其工作原理和正确使用...
在Android开发中,...5. 使用线程和Handler(或计时器)来周期性地更新TextSwitcher的文本,并实现循环滚动。 通过这种方式,你可以创建一个吸引人的、可滚动的文本展示效果,为你的Android应用增添动态元素。
在Android开发中,TextSwitcher是一个非常有用的组件,它用于在两个TextView之间切换文本,通常用于显示动态更新的信息。然而,标准的TextSwitcher仅支持水平滚动,如果想要实现文本的垂直滚动效果,我们就需要对其...
在Android开发中,TextSwitcher是一个非常有用的视图组件,它允许开发者实现文本内容的平滑切换,通常伴有动画效果,提升用户体验。本教程将详细讲解`TextSwitcher`的官方示例及其核心知识点。 首先,`TextSwitcher...
在需要动态改变文字信息,如加载实时更新的数据或显示提示信息时,TextSwitcher是一个很好的选择。 在实际应用中,这两个控件的使用步骤大致如下: 1. **在XML布局文件中添加ImageSwitcher或TextSwitcher**: - ...