安卓实现单行文字跑马灯效果

作者: 蓝不蓝编程 | 来源:发表于2019-08-07 09:42 被阅读14次

背景

按照产品设计,文字过长时,需要采用跑马灯显示. 如果是多行文字上下左右切换的跑马灯,可以参考《安卓实现多行文字跑马灯效果》.
@ 实现效果图

实现方案

class MarqueeTextView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null)
    : AppCompatTextView(context, attrs) {

    init {
        //设置单行
        setSingleLine()
        //设置Ellipsize
        ellipsize = TextUtils.TruncateAt.MARQUEE
        //获取焦点
        isFocusable = true
        //走马灯的重复次数,-1代表无限重复
        marqueeRepeatLimit = -1
        //强制获得焦点
        isFocusableInTouchMode = true
    }

    /*
     *这个属性这个View得到焦点,在这里我们设置为true,这个View就永远是有焦点的
     */
    override fun isFocused(): Boolean {
        return true
    }

    /*
     * 用于EditText抢注焦点的问题
     * */
    override fun onFocusChanged(focused: Boolean, direction: Int, previouslyFocusedRect: Rect?) {
        if (focused) {
            super.onFocusChanged(focused, direction, previouslyFocusedRect)
        }
    }

    /*
     * Window与Window间焦点发生改变时的回调
     * */
    override fun onWindowFocusChanged(hasWindowFocus: Boolean) {
        if (hasWindowFocus) {
            super.onWindowFocusChanged(hasWindowFocus)
        }
    }
}

完整源代码

https://gitee.com/cxyzy1/marqueeView.git

附录

  1. 安卓实现多行文字跑马灯效果
  2. 参考资料:
    Android之跑马灯详解
    Android中实现跑马灯效果

相关文章

  • 安卓实现单行文字跑马灯效果

    背景 按照产品设计,文字过长时,需要采用跑马灯显示. 如果是多行文字上下左右切换的跑马灯,可以参考《安卓实现多行文...

  • Android菜鸟起飞|自定义TextView实现跑马灯效果(滚

    单行TextView实现跑马灯效果的简单方法 代码如下: 但是这样的方法只能实现单行的跑马灯TextView,多行...

  • 安卓和ios实现ActionSheet

    安卓和ios实现ActionSheet 这是安卓的效果,ios的效果同上。 在项目里用到react-native-...

  • 安卓动画样例-放大缩小

    效果图 实现代码 安卓开发入门教程系列汇总 安卓发展历程及前景 安卓发展历程 安卓开发前景展望 初探安卓 安装开...

  • iOS 滚动显示文字

    跑马灯效果滚动显示文字 在网上搜了好多跑马灯效果都能实现,但是看了具体的代码,感觉好复杂的样子,因为很小的一个功能...

  • Axure-文字跑马灯效果

    日常学习之——跑马灯的效果~ 效果如下图 o(* ̄▽ ̄*)o 思路: 1、文字元件移动+动画效果,实现滚动的效果;...

  • Android 基础 UI 之 TextView

    一、显示富文本 效果图image 布局文件 逻辑代码 二、跑马灯效果 1. 横向跑马灯 效果图: 单个实现跑马灯:...

  • Kevin Learn Android:TextView

    一、显示富文本 效果图01.png 布局文件 逻辑代码 二、跑马灯效果 1. 横向跑马灯 效果图: 单个实现跑马灯...

  • 用recyclerview实现跑马灯文字无限轮播

    网上找了一些跑马灯实现都是直接重写的textview不停的改变绘制文字的位置来达到跑马灯效果,但是有的时候需求要求...

  • TextView之跑马灯与聊天室效果

    一、跑马灯 实现单行跑马灯其实很简单,只要注意TextView的五个属性就好,但是遇到多行、页面中有EditTex...

网友评论

    本文标题:安卓实现单行文字跑马灯效果

    本文链接:https://www.haomeiwen.com/subject/etmmdctx.html