AutoScrollTextView

Introduction: android 上下滚动播放与走马灯效果结合
More: Author   ReportBugs   
Tags:

android 上下滚动播放与走马灯效果结合,暂时只支持 textview

实现原理

  • 实现上下滚动
  • 使用 scrollTo(x,y)和 runable 循环调用,移动 textview,形成走马灯效果
  • 单个页面多个滚动效果会卡顿问题:由于 handler 的消息队列机制,导致滚动需要等待上一个 message 处理完成,现改为线程池 ScheduledExecutorService

演示

例子

项目添加方法

在根 build.gradle 中添加

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

在项目 build.gradle 中添加

dependencies {
    compile 'com.github.ronghao:AutoScrollTextView:1.0.3'
}

使用

只有左右滚动

<com.haohaohu.autoscrolltextview.MarqueeTextView
        android:id="@+id/main_marguee_text"
        android:layout_width="match_parent"
        android:layout_height="20dp"
        />

左右滚动加上下滚动

<com.haohaohu.autoscrolltextview.AutoScrollTextView
        android:id="@+id/main_autoscroll_text1"
        android:layout_width="match_parent"
        android:layout_height="20dp"
        />

自定义文本样式

继承 BaseScrollTextView,在继承类中实现 makeTextView()方法中,自定义效果

@Override
public MarqueeTextView makeTextView() {
    MarqueeTextView textView = new MarqueeTextView(getContext());
    textView.setTextColor(getResources().getColor(R.color.colorAccent));
    return textView;
}

一些方法

方法 解释
startAutoScroll AutoScrollTextView 开始滚动
stopAutoScroll AutoScrollTextView 停止滚动
makeTextView AutoScrollTextView 创建一个内部可横向滚动的 textview
setOnItemClickListener AutoScrollTextView 设置点击事件回调
setTextList AutoScrollTextView 设置数据源
startScroll MarqueeTextView 开始滚动
postStartScroll MarqueeTextView 延迟开始滚动
stopScroll MarqueeTextView 停止滚动
setSpeed MarqueeTextView 设置速度
setMarqueeListener MarqueeTextView 设置单个走马灯的开始和结束回调

版本更新说明

  • 1.0.3
    • 添加 MarqueeTextViewForViewPager 类,临时解决 Jars-of-jam-Scheduler 的问题
  • 1.0.2
    • 解决单个页面多个滚动效果会卡顿问题

关于

  • 个人博客:www.haohaohu.com
  • 如果你也喜欢这个库,Star 一下吧,欢迎 Fork

License

Copyright 2016 haohaohu

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Apps
About Me
GitHub: Trinea
Facebook: Dev Tools