文本切换器(TextSwitcher)的功能与用法

	TextSwitcher集成了ViewSwitcher, 因此它具有与ViewSwitcher相同的特性:可以在切换View组件时使用动画效果。与ImageSwitcher相似的是,使用TextSwitcher也需要设置一个ViewFactory。与ImageSwitcher不同的是,TextSwitcher所需要的ViewFactory的makeView()方法必须返回一个TextView组件。

 

不多说,直接上代码了。界面布局文件如下:


	
    

    
    

上面的布局文件中定义了一个TextSwitcher,并为该文本切换指定了文本切换时的动画效果,接下来Activity只要为该TextSwitcher设置ViewFactory,该TextSwitcher即可正常工作。

如下是Activity代码:

/**
 * TextSwitcher practice.
 * @author peter.
 *
 */
public class MainActivity extends Activity {

    private TextSwitcher textSwitcher;
    
    // 要显示的文本
    String[] strs = new String[]
    		{
    		 "one",
    		 "two",
    		 "three"
    		 };
    private int curStr;
    
	@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textSwitcher = (TextSwitcher) findViewById(R.id.textSwitcher);
        textSwitcher.setFactory(new ViewFactory() {
			
			@Override
			public View makeView() {
				TextView tv = new TextView(MainActivity.this);
				tv.setTextSize(40);
				// 字体颜色品红
				tv.setTextColor(Color.MAGENTA);
				return tv;
			}
		});
        //调用next方法显示下一个字符串
        next(null);
    }
	
	// 事件处理函数,控制显示下一个字符串
	public void next(View source) {
		textSwitcher.setText(strs[curStr++ % strs.length]);
	}

}

你可能感兴趣的:(android)