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