文本切換器(TextSwitcher)的功能與用法,

來源:互聯網
上載者:User

文本切換器(TextSwitcher)的功能與用法,

TextSwitcher整合了ViewSwitcher, 因此它具有與ViewSwitcher相同的特性:可以在切換View組件時使用動畫效果。與ImageSwitcher相似的是,使用TextSwitcher也需要設定一個ViewFactory。與ImageSwitcher不同的是,TextSwitcher所需要的ViewFactory的makeView()方法必須返回一個TextView組件。

<TextSwitcher與TextView的功能有點類似,它們都可用於顯示常值內容,區別在於TextSwitcher的效果更炫,它可以指定文本切換時的動畫效果。>

不多說,直接上代碼了。介面布局檔案如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent" >    <!-- 定義一個TextSwitcher,並制定了文本切換時的動畫效果 -->    <TextSwitcher        android:id="@+id/textSwitcher"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:textAlignment="center"        android:layout_centerHorizontal="true"        android:layout_centerVertical="true"        android:inAnimation="@android:anim/slide_in_left"        android:outAnimation="@android:anim/slide_out_right"         android:onClick="next"        >    </TextSwitcher></RelativeLayout>
上面的布局檔案中定義了一個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() {@Overridepublic 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]);}}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.