最新版见github地址(欢迎star):https://github.com/huangdali/TimeRuler
时间轴、时间刻度尺
尊重原创,转载请注明出处: http://blog.csdn.net/qq137722697
通过setSelectTimeArea(bool)就可以设置是否显示时间选择
app.build中使用
compile 'com.jwkj:TimeLineView:v1.3.1'
#timeruler
-keep class com.hdl.timeruler.**{*;}
-dontwarn com.hdl.timeruler.**
所在activity需要开启硬件加速(建议配置横竖屏不重新走一遍生命周期)
java
android:configChanges="orientation|keyboardHidden|screenSize"
android:hardwareAccelerated="true">
...
TextureView本身不支持直接设置背景颜色(android:background=”color”,设置之后会抛出异常),可以通过属性viewBackgroundColor来设置背景色
最简单的使用(属性使用默认值)
"@+id/tr_line"
android:layout_width="match_parent"
android:layout_height="166dp" />
配置属性(更多属性说明见本文附录)
"@+id/tr_line"
android:layout_width="match_parent"
android:layout_height="166dp"
app:centerLineColor="#ff6e9fff"
app:rulerLineColor="#ffb5b5b5"
app:rulerTextColor="#ff444242"
app:vedioAreaColor="#336e9fff"
app:viewBackgroundColor="#fff"
...
/>
tRuler.setCurrentTimeMillis(设置中心线的时间)
List times = new ArrayList<>();
times.add(new TimeSlot(DateUtils.getTodayStart(System.currentTimeMillis()),DateUtils.getTodayStart(System.currentTimeMillis()) + 60 * 60 * 1000, DateUtils.getTodayStart(System.currentTimeMillis()) + 120 * 60 * 1000));
times.add(new TimeSlot(DateUtils.getTodayStart(System.currentTimeMillis()),DateUtils.getTodayStart(System.currentTimeMillis()) + 3*60 * 60 * 1000, DateUtils.getTodayStart(System.currentTimeMillis()) + 4*60 * 60 * 1000));
tRuler.setVedioTimeSlot(times);
tRuler.openMove();//打开移动
tRuler.closeMove();//关闭移动
由于横竖屏切换之后,view宽高不能保持一致导致需要适配
1、定义一个全局的当前时间毫秒值
private long currentTimeMillis;
2、在onBarMoving回调方法中记录currentTimeMillis
tRuler.setOnBarMoveListener(new OnBarMoveListener() {
...
@Override
public void onBarMoving(long currentTime) {
currentTimeMillis = currentTime;
}
...
});
3、在时间轴所在activity/fragment中重写onConfigurationChanged方法
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
...
tRuler.setCurrentTimeMillis(currentTimeMillis);
...
}
通过以上三个步骤即可适配横竖屏(手动与自动横竖屏都可以)
所有属性都有默认值,可以不设置
v1.3.1( 2017.09.27 )
v1.2.8( 2017.09.12 )
v1.2.7( 2017.09.08 )
v1.2.6( 2017.09.07 )
v1.2.5( 2017.09.06 )
v1.2.4( 2017.09.06 )
v1.2.3( 2017.09.06 )
v1.2.2( 2017.09.06 )
v1.2.1( 2017.09.06 )
v1.1.2( 2017.09.05 )
v1.0.8( 2017.09.05 )
v1.0.7( 2017.09.05 )
v1.0.6( 2017.09.05 )
v1.0.5( 2017.09.05 )
v1.0.4( 2017.09.04 )
更早版本未记录
还有更多实用开源的项目:https://github.com/huangdali
尊重原创,转载请注明出处: http://blog.csdn.net/qq137722697