android-TextSwitcher

来源:互联网 发布:大数据金融公司 编辑:程序博客网 时间:2024/06/06 21:39
<?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/btnChange" android:layout_width="wrap_content"        android:layout_height="wrap_content" android:text="改变文字" />    <!--        TextSwitcher - 文字转换器控件(改变文字时增加一些动画效果)    -->    <TextSwitcher android:id="@+id/textSwitcher"        android:layout_width="fill_parent" android:layout_height="wrap_content" /></LinearLayout>


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 _TextSwitcher extends Activity implements ViewSwitcher.ViewFactory {    @Override    protected void onCreate(Bundle savedInstanceState) {        // TODO Auto-generated method stub        super.onCreate(savedInstanceState);        this.setContentView(R.layout.textswithcer);        setTitle("TextSwithcer");        final TextSwitcher switcher = (TextSwitcher) findViewById(R.id.textSwitcher);        // 指定转换器的 ViewSwitcher.ViewFactory        switcher.setFactory(this);                // 设置淡入和淡出的动画效果        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) {                switcher.setText(String.valueOf(new Random().nextInt()));            }        });    }    // 重写 ViewSwitcher.ViewFactory 的 makeView(),返回一个 View    @Override    public View makeView() {        TextView textView = new TextView(this);        textView.setTextSize(36);        return textView;    }}


原创粉丝点击