TextSwitcher实现文字上下翻牌效果

原创 2016年03月16日 13:13:37

我们知道TextView是最常用来显示文字的组件,那么加入有一系列的内容,需要逐条的上下滚动播出,这样的效果就需要TextSwitcher来帮忙了。

加入布局中已经存在一个TextSwitcher元素,那么使用时,需要写如下代码

        tvNotice = (TextSwitcher)rootView.findViewById(R.id.tv_notice);
        tvNotice.setFactory(new ViewSwitcher.ViewFactory() {
			//这里 用来创建内部的视图,这里创建TextView,用来显示文字
            public View makeView() {
                TextView tv =new TextView(getContext());
				//设置文字大小
                tv.setTextSize(TypedValue.COMPLEX_UNIT_PX,getResources().getDimension(R.dimen.group_notice_font_size));
				//设置文字 颜色
                tv.setTextColor(getResources().getColor(R.color.font_333333));
                return tv;
            }
        });

然后自己可用timer或者Thread去控制轮播,轮播中控制tvNotice的代码如下

                // 设置切入动画
                tvNotice.setInAnimation(AnimationUtils.loadAnimation(getContext(), R.anim.slide_in_bottom));
                // 设置切出动画
                tvNotice.setOutAnimation(AnimationUtils.loadAnimation(getContext(), R.anim.slide_out_up));
				//items是一个字符串列表,index就是动态的要显示的items中的索引
                tvNotice.setText(itmes.get(index).getTitle());

我们看到上面用到了两个动画效果,需要自己定义,如下

slide_in_bottom.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:fillAfter="true"
    android:shareInterpolator="false"    android:zAdjustment="top"
    >
    <translate
        android:duration="1000"
        android:fromYDelta="100%p"
        android:toYDelta="0" />
</set>


slide_out_up.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:fillAfter="true"
    android:shareInterpolator="false"    android:zAdjustment="top"
    >
    <translate
        android:duration="1000"
        android:fromYDelta="0"
        android:toYDelta="-100%p" />
</set>


版权声明:本文为博主原创文章,未经博主允许不得转载。

TextSwitcher实现文本自动垂直滚动

实现功能:用TextSwitcher实现文本自动垂直滚动,类似淘宝首页广告条。 实现效果: 注意:由于网上横向滚动的例子比较多,所以这里通过垂直的例子演示。 实现步骤:1、extends TextSw...
  • u014369799
  • u014369799
  • 2015年12月17日 09:11
  • 6376

文本切换器(TextSwitcher)的功能与用法

TextSwitcher集成了ViewSwitcher, 因此它具有与ViewSwitcher相同的特性:可以在切换View组件时使用动画效果。与ImageSwitcher相似的是,使用TextSwi...
  • luguoqiang_12
  • luguoqiang_12
  • 2014年12月08日 11:30
  • 3997

TextSwitcher实现分析

上一篇博客《TextSwitcher实现文字上下翻牌效果》中我们知道了TextSwitcher的大致用法,那现在来看看TextSwitcher内部是如何实现文字交替的。TextSwitcher 继承自...
  • bdmh
  • bdmh
  • 2016年03月16日 15:12
  • 2622

通知公告TextSwitcher自动上下滚动带点击事件

今天项目中用到这样一个小功能,找了好些都不是很合适,参考了很多资料然后根据项目需求终于在下班前不辱使命。马上下班了,就不墨迹了。直接上代码,很简单稍微有点功底的朋友都能看懂 效果图:  首先是...
  • qq_34471736
  • qq_34471736
  • 2016年11月07日 16:43
  • 1943

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

  • 2016年10月08日 13:37
  • 6.27MB
  • 下载

Android之TextSwitcher详解

TextSwitcher 字面理解是文字交换器,是ViewSwitcher的子类,从ViewSwitcher来看,是View交换器,TextSwitcher继承自ViewSwitcher,显然是交换T...
  • YUZHIBOYI
  • YUZHIBOYI
  • 2012年06月28日 17:28
  • 2568

TextSwitcher官方Demo

  • 2016年07月26日 11:06
  • 654KB
  • 下载

安卓滚动字幕以及TextSwitcher、ImageSwitcher使用

安卓字幕滚动,textSwitcher,imageSwitcher
  • github_33304260
  • github_33304260
  • 2016年12月05日 21:22
  • 1023

TextSwitcher的使用(一)

创建文本变化的动画效果package com.example.androidtest; import android.os.Bundle; import android.app.Activity; ...
  • wuli2496
  • wuli2496
  • 2014年04月17日 21:31
  • 638

TextSwitcher上下滚动的实现和处理点击事件

在layout布局文件中声明TextSwitcher
  • qq_27853161
  • qq_27853161
  • 2017年03月01日 10:32
  • 795
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:TextSwitcher实现文字上下翻牌效果
举报原因:
原因补充:

(最多只允许输入30个字)