瀑布流式的时间轴

论坛 期权论坛 脚本     
匿名网站用户   2020-12-19 16:25   11   0

TimeLine

项目地址:vivian8725118/TimeLine

简介:瀑布流式的时间轴

更多:作者提 Bug

标签:

This project aims to provide a easy way to useStaggered TimeLineimplementation.

中文版文档

Provide the gradle dependency

  implementation 'com.vivian.widgets:TimeLineItemDecoration:1.5'

Usage

If you want to use thisTimeLinein your project, you have to do the following.

  • Set theStaggeredGridLayoutManagerto yourRecyclerView

    mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL));
    
  • Use theItemDecorationof this projectItemDecoration.java

    mRecyclerView.addItemDecoration(new ItemDecoration(this, 100));
    

    The second ctor-parameter will define thedistance. In that case 100px.

Currently there are 2 styles available, as seen in the Screenshots. You can find the implementation for the second style here.DotItemDecoration.java

DotItemDecoration mItemDecoration = new DotItemDecoration
                .Builder(this)
                .setOrientation(DotItemDecoration.VERTICAL)//if you want a horizontal item decoration,remember to set horizontal orientation to your LayoutManager
                .setItemStyle(DotItemDecoration.STYLE_DRAW)//choose to draw or use resource
                .setTopDistance(20)//dp
                .setItemInterVal(10)//dp
                .setItemPaddingLeft(10)//default value equals to item interval value
                .setItemPaddingRight(10)//default value equals to item interval value
                .setDotColor(Color.WHITE)
                .setDotRadius(2)//dp
                .setDotPaddingTop(0)
                .setDotInItemOrientationCenter(false)//set true if you want the dot align center
                .setLineColor(Color.RED)//the color of vertical line
                .setLineWidth(1)//dp
                .setEndText("END")//set end text
                .setTextColor(Color.WHITE)
                .setTextSize(10)//sp
                .setDotPaddingText(2)//dp.The distance between the last dot and the end text
                .setBottomDistance(40)//you can add a distance to make bottom line longer
                .create();

if you want to do something according to the column of span,implementsSpanIndexListenerof this projectSpanIndexListener.

mItemDecoration.setSpanIndexListener(new SpanIndexListener() {
        @Override
        public void onSpanIndexChange(View view, int spanIndex) {
           view.setBackgroundResource(spanIndex == 0 ? R.drawable.pop_left : R.drawable.pop_right);
        }
});

Example

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP