Android初级之组件基础10-TextSwitcher
2011-10-14 14:16
316 查看
TextSwitcher,用来使屏幕上的label产生动画效果,当setText()方法被调用时,TextSwitcher以动画的形式将当前的文字内容消失并显示新的文字内容。
1.常用方法
setCurrentText(CharSequence text)
设置当前显示的文本视图的文字内容(非动画方式显示)
setText(CharSequence text)
设置下一视图的文本内容,并切换到下一视图。可以动画地退出当前文本内容,显示下一文本内容。
2.实例
布局文件XML如下:
代码如下:
我们可以注意到,如果仅为TextSwitcher设置ViewFactory,不设置动画时,TextSwitcher只是简单地对文字进行更换。
1.常用方法
setCurrentText(CharSequence text)
设置当前显示的文本视图的文字内容(非动画方式显示)
setText(CharSequence text)
设置下一视图的文本内容,并切换到下一视图。可以动画地退出当前文本内容,显示下一文本内容。
2.实例
布局文件XML如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:id="@id/btnBaseTextSwitcher" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="点击变幻文本" android:hint="以动画形式变换文本"/> <TextSwitcher android:id="@id/tsBase" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </LinearLayout>
代码如下:
import java.util.Random; import android.app.Activity; import android.os.Bundle; import android.view.Gravity; 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; import cn.youtous.R; public class BaseTextSwitcher extends Activity { private Button btnBase; private TextSwitcher tsBase; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(R.layout.base_textswitcher); btnBase = (Button)findViewById(R.id.btnBaseTextSwitcher); btnBase.setOnClickListener(new BaseTextSwitcherClickListener()); tsBase = (TextSwitcher)findViewById(R.id.tsBase); tsBase.setFactory(new BaseTextSwitcherFactory()); setupAnimation(); } /** * 设置动画形式 */ private void setupAnimation(){ Animation in = AnimationUtils.loadAnimation(this, android.R.anim.slide_in_left); in.setDuration(2000); //为了突出动画效果,我们设置动画事件为2秒钟 Animation out = AnimationUtils.loadAnimation(this, android.R.anim.slide_out_right); out.setDuration(2000); tsBase.setInAnimation(in); tsBase.setOutAnimation(out); } /** * ViewFactory */ class BaseTextSwitcherFactory implements ViewSwitcher.ViewFactory { @Override public View makeView() { TextView t = new TextView(BaseTextSwitcher.this); t.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL); t.setTextSize(36); return t; } } /** * 按钮的点击事件监听器 */ class BaseTextSwitcherClickListener implements View.OnClickListener { @Override public void onClick(View v) { Random rand = new Random(); tsBase.setText(String.valueOf(rand.nextInt())); } } }
我们可以注意到,如果仅为TextSwitcher设置ViewFactory,不设置动画时,TextSwitcher只是简单地对文字进行更换。
相关文章推荐
- Android初级之组件基础01-TextView
- Android初级之组件基础05-ImageButton
- Android初级之组件基础07-RadioButton/RadioGroup
- Android初级之组件基础02-EditView
- Android初级之组件基础08-GridView
- Android初级之组件基础03-Button/ToggleButton
- Android初级之组件基础06-CheckBox
- Android初级之组件基础11-ImageSwitcher
- Android初级之组件基础04-ImageView
- Android初级之组件基础09-Spinner
- Android 开发文档 程序基础 ——activity组件
- Android核心基础-8.Android四大组件之Activity-2.关闭、传递数据
- Android零基础入门第62节:搜索框组件SearchView
- 【android基础】Android中四大组件
- Android开发之旅:应用程序基础及组件
- android基础-Toast提示框、日历视图(CalendarView)组件、日期、时间选择器DatePicker和TimerPicker等
- Android基本组件10(SeekBar,RatingBar)
- Android四大组件简介:Android 基础知识,开发教程
- Android基础学习【历史流程重走】 ----四大组件之Activity