`

玩转Android---组件篇---TextSwitcher

 
阅读更多

还记得有一次淘宝的电话面试的时候问了我一个关于Android的问题:如何让一个数字在组件上从0到n连续的显示变化,用到了什么方法的问题。今天将这个问题解答一下

 

这里,用到的是TextSwitcher,它仅仅包含子类型TextView,TextSwitcher用来使得屏幕上的Label产生动画效果,每当setText(CharSequence)被调用时,TextSwitcher使用动画方式将当前的文字内容消失并显示新的内容

 

下面看看实例中的使用以及效果

MainActivity.java

package org.loulijun.android01;

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.ViewFactory;

public class MainActivity extends Activity implements ViewFactory {
    private TextSwitcher mSwitcher;
    private int mCounter = 0;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        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(new Button.OnClickListener()
        {

			@Override
			public void onClick(View v) {
				mCounter++;
				updateCounter();
			}
        	
        });
        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;
    }

}

 main.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/next"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
	android:text="下一个"
/>
<TextSwitcher
	android:id="@+id/switcher"
	android:background="#00FFFF"
	android:layout_width="match_parent"
	android:layout_height="wrap_content"
/>
</LinearLayout>

 上效果图:



当然,如果要是让其自动的变换的话,可以使用一下hander或者线程,让其变化的主要是TextSwitcher组件中的setText方法。

  • 大小: 5.2 KB
  • 大小: 5.1 KB
分享到:
评论

相关推荐

    android-TextSwitcher-master.zip

    android-TextSwitcher-master.zip对你的学习会有帮助的

    Android TextSwitcher(文字交换器)的使用

    TextSwitcher作为Android UI组件的一个重要工具,通过简单的API就可以实现文本的动态切换和动画效果。开发者可以充分利用它来增强应用的交互性和用户体验。理解并熟练掌握TextSwitcher的使用,能为你的应用增添更多...

    Android 中textSwitcher与imageSwitcher的使用

    在Android开发中,`TextSwitcher`和`ImageSwitcher`是两种非常实用的视图切换组件,主要用于在界面上动态地展示文本或图像。它们都继承自`ViewSwitcher`类,提供了一种平滑过渡的效果,使得界面在内容更新时更加流畅...

    Android-仿照Google在卡片上滚动显示最新评论的TextSwitcher

    本篇文章将深入探讨如何在Android中实现这样一个功能,主要使用TextSwitcher控件。 TextSwitcher是Android SDK提供的一种特殊的View,它主要用于在两个文本之间平滑地切换。这个控件特别适合用于动态更新内容,例如...

    Android TextSwitcher Demo

    在Android开发中,`TextSwitcher`是一个非常实用的视图组件,主要用于在界面上动态地切换文本内容,常用于创建简单的动画效果,使界面更具交互性和吸引力。本实例"Android TextSwitcher Demo"旨在展示如何有效地使用...

    TextSwitcher

    `TextSwitcher`是Android平台中的一个特殊视图组件,主要设计用于在界面上动态地切换文本内容。它属于`ViewSwitcher`家族的一部分,这些组件通常用来在用户交互后或者按照一定时间间隔自动切换不同的视图。在`...

    TextSwitcher垂直滚动文字广告demo

    在Android开发中,TextSwitcher是一个非常实用的控件,常用于实现文本的动态切换效果,比如我们在京东、淘宝的搜索框中看到的那种滚动小广播。这个“TextSwitcher垂直滚动文字广告demo”是一个示例项目,展示了如何...

    Android 上下滚动TextSwitcher实例详解

    在Android开发中,TextSwitcher是一个非常有用的组件,它用于在界面上动态切换文本内容,通常搭配动画效果,使得文本的切换更为流畅和吸引人。本文将深入探讨如何在Android中实现上下滚动的TextSwitcher实例。 首先...

    自定义TextSwitcher实现文本自动垂直滚动

    在Android开发中,TextSwitcher是一个非常有用的组件,它用于在两个TextView之间切换文本,通常用于显示动态更新的信息。然而,标准的TextSwitcher仅支持水平滚动,如果想要实现文本的垂直滚动效果,我们就需要对其...

    textswitcher的官方demo

    在Android开发中,TextSwitcher是一个非常有用的视图组件,它允许开发者实现文本内容的平滑切换,通常伴有动画效果,提升用户体验。本教程将详细讲解`TextSwitcher`的官方示例及其核心知识点。 首先,`TextSwitcher...

    TextView实现文字的跑马灯效果&TextSwitcher实现文字竖直飞出和飞入

    `TextView`和`TextSwitcher`都是Android SDK提供的重要组件,它们用于显示文本信息。在这个话题中,我们将深入探讨如何利用`TextView`实现跑马灯效果以及如何通过`TextSwitcher`实现文字竖直飞出和飞入的动画效果。 ...

    TextSwitcher实现文字上下左右滚动

    在Android开发中,`TextSwitcher` 是一个用于创建文本切换动画效果的视图组件,常用于实现广告条或信息提示区域的文字上下左右滚动效果。它继承自`ViewSwitcher`,并内置了平滑过渡的动画,使得文本在切换时更加自然...

    Android 中文 API (17) —— TextSwitcher

    ### Android 中文 API (17) —— TextSwitcher #### 概述 在Android开发过程中,`TextSwitcher`类作为一个特殊的控件,被设计用于动态地改变界面上显示的文本,并支持动画效果,从而使得用户界面更加生动有趣。`...

    Android-字体随着进度条的加载而滚动并且数值也随之增加

    在Android开发中,进度条(ProgressBar)是一种常见的UI组件,用于显示任务的进度或加载状态。本项目"Android-字体随着进度条的加载而滚动并且数值也随之增加"着重于实现一个创新的进度条效果,即当进度条加载时,...

    TextSwitcher:仿京东、淘宝滚动小广播,实现文字轮播滚动

    在Android开发中,TextSwitcher是一个非常实用的控件,常用于实现文本的动态切换效果,比如我们在京东、淘宝等电商应用中常见的滚动小广播。这个控件属于ViewSwitcher家族,是Android SDK提供的一种视图切换器,专门...

    Android TextSwitcher文本切换器和ViewFlipper使用详解

    在Android开发中,TextSwitcher和ViewFlipper是两种用于实现动态内容切换的视图组件。它们可以帮助开发者创建丰富的用户界面,特别是在展示滚动文本、广告轮播或动态更新信息的场景下。 首先,我们来详细了解**...

    Android TextSwitcher实现文字上下翻牌效果(铜板街)

    本篇文章将详细讲解如何利用TextSwitcher实现类似铜板街的文字上下翻牌效果。 首先,TextSwitcher继承自ViewSwitcher,它提供了方便的动画切换功能。在布局文件中,我们需要添加一个TextSwitcher控件: ```xml ...

    Android开发实现自动切换文字TextSwitcher功能示例

    本篇文章将深入探讨如何在Android应用中实现TextSwitcher的自动切换文字功能,并提供具体的实现步骤和代码示例。 首先,TextSwitcher继承了ViewSwitcher的所有方法,这意味着它可以利用ViewSwitcher提供的动画效果...

    ViewSwitcher实例ImageSwitcher和TextSwitcher免费demo

    在Android开发中,ViewSwitcher是一个非常实用的控件,它属于ViewAnimator家族的一部分,用于在两个或更多视图之间进行切换。这个实例是关于如何使用ViewSwitcher的子类ImageSwitcher和TextSwitcher来实现动态更换...

Global site tag (gtag.js) - Google Analytics