日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android自定义view,时间刻度尺,时间轴,视频轴

發布時間:2023/12/20 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android自定义view,时间刻度尺,时间轴,视频轴 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

TimeRuler

最新版見github地址(歡迎star):https://github.com/huangdali/TimeRuler

時間軸、時間刻度尺

  • 繼承至TextureView,效率更高
  • 已適配橫豎屏
  • 縮放功能(分鐘、小時級別)
  • 自動移動(自由決定開啟與關閉移動)
  • 時間軸中選擇時間
  • 實時設置當天時間
  • 顯示有效視頻時間
  • 超時(超過00:00:00,、23:59:59)自動處理
  • 帶拖動開始、結束、自動移動、超時回調
  • 帶時間選擇回調
  • 屬性自由配置

尊重原創,轉載請注明出處: 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
<activity
...
android:configChanges="orientation|keyboardHidden|screenSize"
android:hardwareAccelerated="true">
...
</activity>

布局

TextureView本身不支持直接設置背景顏色(android:background=”color”,設置之后會拋出異常),可以通過屬性viewBackgroundColor來設置背景色

最簡單的使用(屬性使用默認值)

<com.hdl.timeruler.TimeRulerViewandroid:id="@+id/tr_line"android:layout_width="match_parent"android:layout_height="166dp" />

配置屬性(更多屬性說明見本文附錄)

<com.hdl.timeruler.TimeRulerViewandroid:id="@+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<TimeSlot> 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() {...@Overridepublic void onBarMoving(long currentTime) {currentTimeMillis = currentTime;}...});

3、在時間軸所在activity/fragment中重寫onConfigurationChanged方法

@Overridepublic void onConfigurationChanged(Configuration newConfig) {super.onConfigurationChanged(newConfig);...tRuler.setCurrentTimeMillis(currentTimeMillis);...}

通過以上三個步驟即可適配橫豎屏(手動與自動橫豎屏都可以)

附表

布局文件屬性配置說明

所有屬性都有默認值,可以不設置

  • 中軸線顏色–>centerLineColor
  • 時間文字顏色–>rulerTextColor
  • 含有錄像背景顏色–>vedioAreaColor
  • 刻度線顏色–>rulerLineColor
  • 選擇時間的邊框顏色–>selectTimeBorderColor
  • 已選擇時間顏色–>selectTimeAreaColor
  • 中軸線大小–>centerLineSize
  • 時間文字大小–>rulerTextSize
  • 小刻度線寬度–>samllRulerLineWidth
  • 小刻度線高度–>samllRulerLineHeight
  • 大刻度線寬度–>largeRulerLineWidth
  • 大刻度線高度–>largeRulerLineHeight
  • 選擇時間邊框大小–>selectTimeBorderSize
  • 設置背景顏色–>viewBackgroundColor

版本記錄

v1.3.1( 2017.09.27 )

  • 【優化】縮放靈敏度

v1.2.8( 2017.09.12 )

  • 【優化】需要手動適配橫豎屏切換

v1.2.7( 2017.09.08 )

  • 【優化】連續拖動不回調onBarMoveFinish(),直到用戶停止拖動超過1.5秒才認為用戶拖動結束

v1.2.6( 2017.09.07 )

  • 【修復】部分機型快速橫豎屏切換導致橫豎屏顯示時間不對應問題

v1.2.5( 2017.09.06 )

  • 【優化】延遲onBarMoveFinish回調時間為2秒

v1.2.4( 2017.09.06 )

  • 【新增】設置背景顏色方法,同樣布局文件中可以app:viewBackgroundColor=”#fff”

v1.2.3( 2017.09.06 )

  • 【修復】未設置setOnBarMoveListener時拋出空指針異常

v1.2.2( 2017.09.06 )

  • 【優化】刪除無用日志

v1.2.1( 2017.09.06 )

  • 【新增】 縮放功能(分鐘、小時級別)
  • 【新增】 布局文件中配置顏色、大小屬性,同樣也提供setXXX()方法
  • 【優化】 TimeSlot構造方法新增第一個參數為當天開始時間毫秒值(即當天凌晨00:00:00的毫秒值)

v1.1.2( 2017.09.05 )

  • 【優化】 onBarMoving在主線程中執行

v1.0.8( 2017.09.05 )

  • 【優化】 刪除無用依賴和無用代碼

v1.0.7( 2017.09.05 )

  • 【優化】 使用openMove()、closeMove()代替setMoving(bool)

v1.0.6( 2017.09.05 )

  • 【新增】超過今天開始時間(00:00:00)、今天結束時間(23:59:59)回調,并自動回到開始/結束時間

v1.0.5( 2017.09.05 )

  • 【新增】新增時間軸上選擇時間

v1.0.4( 2017.09.04 )

  • 【修復】往小于15分鐘拉取時時間倒跑問題

更早版本未記錄

還有更多實用開源的項目:https://github.com/huangdali

尊重原創,轉載請注明出處: http://blog.csdn.net/qq137722697

總結

以上是生活随笔為你收集整理的android自定义view,时间刻度尺,时间轴,视频轴的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。