还记得有一次淘宝的电话面试的时候问了我一个关于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对你的学习会有帮助的
TextSwitcher作为Android UI组件的一个重要工具,通过简单的API就可以实现文本的动态切换和动画效果。开发者可以充分利用它来增强应用的交互性和用户体验。理解并熟练掌握TextSwitcher的使用,能为你的应用增添更多...
在Android开发中,`TextSwitcher`和`ImageSwitcher`是两种非常实用的视图切换组件,主要用于在界面上动态地展示文本或图像。它们都继承自`ViewSwitcher`类,提供了一种平滑过渡的效果,使得界面在内容更新时更加流畅...
本篇文章将深入探讨如何在Android中实现这样一个功能,主要使用TextSwitcher控件。 TextSwitcher是Android SDK提供的一种特殊的View,它主要用于在两个文本之间平滑地切换。这个控件特别适合用于动态更新内容,例如...
在Android开发中,`TextSwitcher`是一个非常实用的视图组件,主要用于在界面上动态地切换文本内容,常用于创建简单的动画效果,使界面更具交互性和吸引力。本实例"Android TextSwitcher Demo"旨在展示如何有效地使用...
`TextSwitcher`是Android平台中的一个特殊视图组件,主要设计用于在界面上动态地切换文本内容。它属于`ViewSwitcher`家族的一部分,这些组件通常用来在用户交互后或者按照一定时间间隔自动切换不同的视图。在`...
在Android开发中,TextSwitcher是一个非常实用的控件,常用于实现文本的动态切换效果,比如我们在京东、淘宝的搜索框中看到的那种滚动小广播。这个“TextSwitcher垂直滚动文字广告demo”是一个示例项目,展示了如何...
在Android开发中,TextSwitcher是一个非常有用的组件,它用于在界面上动态切换文本内容,通常搭配动画效果,使得文本的切换更为流畅和吸引人。本文将深入探讨如何在Android中实现上下滚动的TextSwitcher实例。 首先...
在Android开发中,TextSwitcher是一个非常有用的组件,它用于在两个TextView之间切换文本,通常用于显示动态更新的信息。然而,标准的TextSwitcher仅支持水平滚动,如果想要实现文本的垂直滚动效果,我们就需要对其...
在Android开发中,TextSwitcher是一个非常有用的视图组件,它允许开发者实现文本内容的平滑切换,通常伴有动画效果,提升用户体验。本教程将详细讲解`TextSwitcher`的官方示例及其核心知识点。 首先,`TextSwitcher...
`TextView`和`TextSwitcher`都是Android SDK提供的重要组件,它们用于显示文本信息。在这个话题中,我们将深入探讨如何利用`TextView`实现跑马灯效果以及如何通过`TextSwitcher`实现文字竖直飞出和飞入的动画效果。 ...
在Android开发中,`TextSwitcher` 是一个用于创建文本切换动画效果的视图组件,常用于实现广告条或信息提示区域的文字上下左右滚动效果。它继承自`ViewSwitcher`,并内置了平滑过渡的动画,使得文本在切换时更加自然...
### Android 中文 API (17) —— TextSwitcher #### 概述 在Android开发过程中,`TextSwitcher`类作为一个特殊的控件,被设计用于动态地改变界面上显示的文本,并支持动画效果,从而使得用户界面更加生动有趣。`...
在Android开发中,进度条(ProgressBar)是一种常见的UI组件,用于显示任务的进度或加载状态。本项目"Android-字体随着进度条的加载而滚动并且数值也随之增加"着重于实现一个创新的进度条效果,即当进度条加载时,...
在Android开发中,TextSwitcher是一个非常实用的控件,常用于实现文本的动态切换效果,比如我们在京东、淘宝等电商应用中常见的滚动小广播。这个控件属于ViewSwitcher家族,是Android SDK提供的一种视图切换器,专门...
在Android开发中,TextSwitcher和ViewFlipper是两种用于实现动态内容切换的视图组件。它们可以帮助开发者创建丰富的用户界面,特别是在展示滚动文本、广告轮播或动态更新信息的场景下。 首先,我们来详细了解**...
本篇文章将详细讲解如何利用TextSwitcher实现类似铜板街的文字上下翻牌效果。 首先,TextSwitcher继承自ViewSwitcher,它提供了方便的动画切换功能。在布局文件中,我们需要添加一个TextSwitcher控件: ```xml ...
本篇文章将深入探讨如何在Android应用中实现TextSwitcher的自动切换文字功能,并提供具体的实现步骤和代码示例。 首先,TextSwitcher继承了ViewSwitcher的所有方法,这意味着它可以利用ViewSwitcher提供的动画效果...
在Android开发中,ViewSwitcher是一个非常实用的控件,它属于ViewAnimator家族的一部分,用于在两个或更多视图之间进行切换。这个实例是关于如何使用ViewSwitcher的子类ImageSwitcher和TextSwitcher来实现动态更换...