Android 中文 API —— TextSwitcher

声明

  欢迎转载,但请保留文章原始出处:) 

    madgoat:http://madgoat.cn/

    博客园:http://www.cnblogs.com

    农民伯伯: http://www.cnblogs.com/over140/

 

版本

  Android 2.2 r1  

 

正文

  一、结构

    public class TextSwitcher extends ViewSwitcher

 

    java.lang.Object

      android.view.View

        android.view.ViewGroup

          android.widget.FrameLayout

                              android.widget.ViewAnimator

                                    android.widget.ViewSwitcher

                                          android.widget.TextSwitcher

 

  二、类概述

    

    ViewSwitcher仅仅包含子类型TextView。TextSwitcher被用来使屏幕上的label产生动画效果。每当setText(CharSequence)被调用时,TextSwitcher使用动画方式将当前的文字内容消失并显示新的文字内容。(译者注:改变文字时增加一些动画效果)

 

  三、构造函数

         public TextSwitcher (Context context)

         创建一个新的空TextSwitcher

                   参数

context 应用程序上下文

 

         public TextSwitcher (Context context, AttributeSet attrs)

         使用提供的contextattributes来创建一个空的TextSwitcher

                   参数

                            context 应用程序环境

                            attrs                   属性集合

 

  四、公共方法

         public void addView (View child, int index, ViewGroup.LayoutParams params)

         根据指定的布局参数新增一个子视图

                   参数

                            child          新增的子视图

                            index         新增子视图的位置

                            params    新增子视图的布局参数

         抛出异常

                   IllegalArgumentException       当子视图不是一个TextView实例时

 

         public void setCurrentText (CharSequence text)

         设置当前显示的文本视图的文字内容。非动画方式显示。

                   参数

                            text           需要显示的新文本内容

 

         public void setText (CharSequence text)

         设置下一视图的文本内容并切换到下一视图。可以动画的退出当前文本内容,显示下一文本内容。

                   参数

                            text           需要显示的新文本内容

 

  五、代码示例

    5.1  摘自APIDemos->View->TextSwitcher

      5.1.1  Java

复制代码

public class TextSwitcher1 extends Activity implements ViewSwitcher.ViewFactory,
        View.OnClickListener {

    
private TextSwitcher mSwitcher;

    
private int mCounter = 0;

    @Override
    
protected void onCreate(Bundle savedInstanceState) {
        
super.onCreate(savedInstanceState);

        setContentView(R.layout.text_switcher_1);

        mSwitcher 
= (TextSwitcher) findViewById(R.id.switcher);
        mSwitcher.setFactory(
this);

        Animation in 
= AnimationUtils.loadAnimation(this,
                android.R.anim.fade_in);
        Animation out 
= AnimationUtils.loadAnimation(this,
                android.R.anim.fade_out);
        mSwitcher.setInAnimation(in);
        mSwitcher.setOutAnimation(out);

        Button nextButton 
= (Button) findViewById(R.id.next);
        nextButton.setOnClickListener(
this);

        updateCounter();
    }

    
public void onClick(View v) {
        mCounter
++;
        updateCounter();
    }

    
private void updateCounter() {
        mSwitcher.setText(String.valueOf(mCounter));
    }

    
public View makeView() {
        TextView t 
= new TextView(this);
        t.setGravity(Gravity.TOP 
| Gravity.CENTER_HORIZONTAL);
        t.setTextSize(
36);
        
return t;
    }
}

复制代码

      5.1.2  XML

复制代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width
="match_parent"
    android:layout_height
="match_parent"
    android:orientation
="vertical">

    
<Button android:id="@+id/next"
        android:layout_width
="wrap_content"
        android:layout_height
="wrap_content" 
        android:text
="@string/text_switcher_1_next_text" />

    
<TextSwitcher android:id="@+id/switcher"
        android:layout_width
="match_parent"
        android:layout_height
="wrap_content" />

</LinearLayout>

复制代码

    5.2  其他示例

      http://tech.ddvip.com/2010-02/1265125017144500.html

      http://www.javaeye.com/topic/569985

 

  六、下载

    CSDN:http://download.csdn.net/source/2774515

 

结束

   madgoat非常积极,接到本章译稿后就迅速的翻译出来,并且附带完善的代码和截图,现在已经在翻译下一篇译稿,感谢他如此积极参与!


转载于:https://my.oschina.net/sunxichao/blog/346149

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值