Skip to content

razerdp/UnderLineLinearLayout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a016e97 · May 3, 2017

History

24 Commits
Mar 3, 2016
Jan 21, 2016
Jan 26, 2016
May 3, 2017
Jan 21, 2016
Apr 16, 2017
Jan 26, 2016
Jan 21, 2016
Jan 21, 2016
Jan 21, 2016
Jan 21, 2016

Repository files navigation

UnderLineLinearLayout

// 这是一个简单的时间轴实现(LinearLayout)

效果图:

image image


更新日志:

2016-02-26:添加 setWillNotDraw(false);

demo由于设置了颜色,所以ViewGroup会调用onDraw方法,在没有颜色的情况下,如果linearlayout的divider为空,是不会执行onDraw方法的,这里把它设定为执行。


2016-01-26:在忙完一天的工作后,忽然想起了这个东东,于是这次一并做了

这次更新了一个前面说过的目标:lineGravity,这一次我们可以通过line_gravity属性来定义我们时间轴的位置了-V-,喜欢哪里点哪里

不过因为针对LinearLayout,所以有一定的限定:

  • 当方向为vertical的时候,我们只能定义时间轴的位置在Left/Middle/Right,至于具体在什么位置,请设置line_margin_side属性
  • 当方向为horizontal的时候,我们只能定义时间轴的位置在Top/Middle/Bottom,至于具体在什么位置,请设置line_margin_side属性
  • 其余情况,比如vertical的方向,但我们设置了时间轴为top,这豪无意义对吧,那么其余非法情况我将其默认为0,也就是垂直方向默认为left,水平方向默认为top。

效果图:

image


2016-01-25

增加了水平方向的timeLine,期望后面有时间可以做上gravity,也就是可以定义timeLine所处方向,最终目标是继承viewGroup,期望可以针对任何布局。


使用方法:

因为继承的LinearLayout,所以请直接addView吧-V-

各属性值:

attrs.xml:

    <declare-styleable name="UnderLineLinearLayout">
        <!--时间轴偏移值-->
        <attr name="line_margin_side" format="dimension"/>
        <!--时间轴动态调整值-->
        <attr name="line_dynamic_dimen" format="dimension"/>
        <!--线宽-->
        <attr name="line_stroke_width" format="dimension"/>
        <!--线的颜色-->
        <attr name="line_color" format="color"/>
        <!--点的大小-->
        <attr name="point_size" format="dimension"/>
        <!--点的颜色-->
        <attr name="point_color" format="color"/>
        <!--图标-->
        <attr name="icon_src" format="reference"/>
           <!--时间轴的gravity-->
                <!--the gravity of the timeline-->
                <attr name="line_gravity">
                    <enum name="Left" value="2"/>
                    <enum name="Right" value="4"/>
                    <enum name="Middle" value="0"/>
                    <enum name="Top" value="1"/>
                    <enum name="Bottom" value="3"/>
                </attr>
    </declare-styleable>

解析博文:

http://blog.csdn.net/mkfrank/article/details/50557221
or
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2016/0121/3902.html

最后打个小广告:这是我另一个正在维护的项目,一个方便使用popupWindow的顶级抽象类,期望可以方便的实现popupWindow的各种效果,欢迎fork和star以及提出意见或建议

https://github.com/razerdp/BasePopup

LICENSE

许可???。。。。。。。纯属交流,请随便用吧- -

About

// 这是一个简单的时间轴实现(LinearLayout)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages