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 初始化数据方法

PLVHCStatusBarLayoutinit 方法是对外的API,在初始化的时候调用一次,需要外部传入 IPLVLiveRoomDataManager 后进行初始化。

上面是初始化的方法。然后是在对外api中实现了接口中的方法。

3.3 状态栏UI的更新

通过processUpdateLessonTimeStatus()方法对当前的上课状态进行判断。结合这个判断结果,调用updateLessonTimeStatus方法对上课状态的UI进行更新。 网络更新则是通过processUpdateNetworkDelay() 来实现的。使用adjustLessonNameTvWidth()来适配课程名的宽度。

Last updated

Was this helpful?