Android-实现上下滚动的textview

作者: 温瑜 | 来源:发表于2016-07-25 01:34 被阅读14650次

前两天pokemon go火了一把,搞得有点不淡定了,but !! 我可是给自己安排了好多任务要去完成的,学新知识啦,写Demo啦,写点文章捋清人生思路啦吧啦吧啦,反正自我感觉接下来是十分充实的一段人生!



然后我就去抓了几天小精灵。。。

我差不多是条废鱼了

啊啊啊~~~


*--------------
*--------------
*--------------

好了,讲正事。(其实也没什么正事😓)

就标题说的那样,一个简单的小玩意儿,为了以后简便,能尽量像原生控件一样用,搞了一个依赖。。。

配置方法

project里build.gradle文件内:

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

module内build.gradle添加依赖:

dependencies {
             compile 'com.github.paradoxie:AutoVerticalTextview:0.1' 
    }

使用方法

xml文件里:

    <com.paradoxie.autoscrolltextview.VerticalTextview            
          android:id="@+id/text"            
          android:layout_width="match_parent"            
          android:layout_height="wrap_content"
           />

activity里:

        国际惯例,findView到这个TextView
        TextView.setTextList(titleList);//加入显示内容,集合类型            
        TextView.setText(26, 5, Color.RED);//设置属性,具体跟踪源码        
        TextView.setTextStillTime(3000);//设置停留时长间隔        
        TextView.setAnimTime(300);//设置进入和退出的时间间隔        
    //对单条文字的点击监听 
        TextView.setOnItemClickListener(new VerticalTextview.OnItemClickListener() {
                    @Override
                    public void onItemClick(int position) {
                    // TO DO
                    }
                });
    //开始滚动
    @Override
        protected void onResume() {
            super.onResume();
            TextView.startAutoScroll();
        }
    //停止滚动
    @Override
        protected void onPause() {
            super.onPause();
            TextView.stopAutoScroll();
        }

*----------------

效果图

效果图效果图

*----------------

划重点:

1.这是一组textview,显示的一个。继承自TextSwitcher ,实现了ViewFactory接口,返回view对象。
2.上下垂直的滚动,动画占了大部分的特效加持。但是很遗憾,这个库很简单,动画不支持修改,有需求的小伙伴可以根据源码重写,暴露出设置动画的方法。
3.轮换时间通过handler实现。
4.源码很简单,完全可以自己拿一个类来实现这个自定义控件。
5.源码地址:戳我


本文作者:paradoxie
个人主页:谢盒盒的小黑屋,不止说技术
简书地址:简书主页,专注说技术
github地址:paradoxie
转载请注明出处,蟹蟹!
-------我的梦想真的是做一条咸鱼!

相关文章

网友评论

  • ca900a609e27:图挂了,在线等
  • 比克大魔王_:楼主git挂了
    比克大魔王_:@最最强者 gif图
  • 266467ca1417:厉害了 我的哥
  • 帷幕丶归心:效果不是特别好,不知道是我没设置好,还是怎么的,滚动的文字,不能居中。于是乎,修改了一下源码。如下
    makeView 方法中。其他位置不动
    final TextView t = new TextView(this.mContext);
    t.post(new Runnable() {
    @Override
    public void run() {
    ViewGroup.LayoutParams lp = t.getLayoutParams();
    lp.width = VerticalTextView.this.getWidth();
    lp.height = VerticalTextView.this.getHeight();
    t.setLayoutParams(lp);//设置宽高比
    }
    });
    //垂直居中,左侧对齐
    t.setGravity(Gravity.CENTER_VERTICAL|Gravity.LEFT);
    t.setMaxLines(1);
    t.setTextSize(12);
    t.setTextColor(Color.GRAY);//灰色
    t.setClickable(true);
  • 0138ceefb3e6:Error:Execution failed for task ':app:processDebugManifest'.
    > Manifest merger failed : Attribute application@allowBackup value=(false) from AndroidManifest.xml:7:9-36
    is also present at [com.github.paradoxie:AutoVerticalTextview:0.1] AndroidManifest.xml:12:9-35 value=(true).
    Suggestion: add 'tools:replace="android:allowBackup"' to <application> element at AndroidManifest.xml:6:5-45:19 to override. 大神 报这个错是怎么回事
  • 7bdac540fd9a:如果我把这个控件放我的Fragment里,然后我Fragment重新刷新的时候 ,onresume会报空指针
  • danieldai:图挂了
  • 0d7906f063e6:这个不能滚动监听吗?我想在滚动时改变其他地方状态。
    温瑜:@不会别来 滚动的监听木有,不过源码挺简单的,你可以自己去扩展一下啦
  • Alex_Cin:no pocture say a JB。开玩笑啊,建议楼主加上配图。
    4875efc6c92b:@Alex_Cin 大兄弟 picture 都打错了 !
    Alex_Cin:@温瑜 不好意思啊,地铁上,信号不好,让楼主尴尬了
    温瑜:@Alex_Cin 已经加上gif图啦 :relaxed:

本文标题:Android-实现上下滚动的textview

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