6_3-互动学堂场景-状态栏
1 功能概述
状态栏主要包括课节号展示、当前上课状态、课节名称展示、网络延迟等功能。其中,上课状态包括未上课、上课延误、拖堂和已结束。状态栏界面封装在PLVHCStatusBarLayout 中。
2 使用演示
使用状态栏模块只需要在Activity布局中添加PLVHCStatusBarLayout 这个布局,同时在布局文件中添加相关的布局。
<!-- 状态栏布局 -->
<com.easefun.polyv.livehiclass.modules.statusbar.PLVHCStatusBarLayout
android:id="@+id/plvhc_status_bar_ly"
android:layout_width="match_parent"
android:layout_height="24dp"
android:background="#191A22"
app:layout_constraintTop_toTopOf="parent" />调用init方法去初始化状态栏布局
可以调用接口中定义的方法去实现对状态栏的修改。
3 实现介绍
PLVHCStatusBarLayout 是互动学堂场景下的状态栏布局,实现了 IPLVHCStatusBarLayout 接口。
3.1 初始化view方法
PLVHCStatusBarLayout 继承于 FrameLayout ,在构造器中使用 initView 方法对view进行初始化处理。
3.2 初始化数据方法
PLVHCStatusBarLayout 的 init 方法是对外的API,在初始化的时候调用一次,需要外部传入 IPLVLiveRoomDataManager 后进行初始化。
上面是初始化的方法。然后是在对外api中实现了接口中的方法。
3.3 状态栏UI的更新
通过processUpdateLessonTimeStatus()方法对当前的上课状态进行判断。结合这个判断结果,调用updateLessonTimeStatus方法对上课状态的UI进行更新。 网络更新则是通过processUpdateNetworkDelay() 来实现的。使用adjustLessonNameTvWidth()来适配课程名的宽度。
Last updated
Was this helpful?