文字轮播_实现 Android TextView 文字轮播效果

本文介绍了Android中实现文字轮播的多种思路,包括ViewAnimator、自定义ViewGroup、ViewFlipper、TextSwitcher以及自定义TextView。通过设置动画和使用handle实现延迟轮播,详细解析了每种方法的优缺点并提供了相关实现示例。
摘要由CSDN通过智能技术生成

b473fc70ae052d3ca74272c232a0f6ee.png

啥叫文字轮播,不废话看图:

32424f1964c42e58dbae64103fe2e5ac.png

这是我们 app 项目中常常遇到的需求了,一般大家都是找找别人写好的第三方控件来用的,我也是这样。但是随着时间长河的流逝,我们也必须相应的成长, 文字轮播这种常见的东西可是不能错过的

我找一些实现,总结下实现思路:

1.ViewAnimator 思路
使用 ViewAnimator 自身特性,对期中的子 view 实现动画切换

2.自定义 viewGroup 思路
在这个思路下,我们自定义一个容器,继承 FrameLayout ,根据数据数量自己 new 相应数量的 itemView 出来加入 FrameLayout ,动画是通过对当前 itemView 做一个出去的佛纳甘话,同时对下一个 itemView 做一个进入动画,使用 handle 实现延迟轮换

3.ViewFlipper 思路
ViewFlipper 思路和 ViewAnimator 一样,不过 ViewFlipper 使用上更灵活,这里我们根据数据流量动态往 ViewFlipper 里添加 itemView

4.TextSwitcher 思路
这个不想写了,没啥意思,TextSwitcher 不熟的大家自己去看看好了,这里我贴一下参考实现得了:

  • Android文字自动轮播实现

TextSwitcher 不熟悉的看这个:

  • TextSwitcher 实现 android 公告栏

5.自定义 textView 思路
其实这个思路也好理解,我们继承 textView ,然后在 onDraw 绘制中自己话文字,自己做动画,动画的思路是先把上一个文字上移到顶,然后再绘制下一个文字,从下面开始一直移动到中间

ViewAnimator 思路

ViewAnimator 是个 viewGroup ,可以实现动画切换其中子 view 的效果。在 xml 布局种,我们把 ViewAnimator 当一个容器,里面写轮播的 view,写多少个 view 就有多少个轮播,然后设置切换的动画,用 handle 做定时延迟轮播,调 ViewAnimator.onNext 就可以切换到下一个 view

推荐参考实现:

  • android文字轮播——ViewAnimator实现

实现思路:

1.先在 layout xml 中声明布局层级结构:

<ViewAnimator
        android:layout_width="match_parent"
        android:layout_height="200dp">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="欢迎"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="测试"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:text="本程序"/>
        <TextView
         
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值