ExoPlayer - 可以通过编程方式更改DefaultTimeBar的颜色吗?

时间:2018-06-12 02:13:42

标签: customization exoplayer programmatically

我覆盖exoplayer的exo_playback_control_view.xml来自定义它,如下面的代码所示。 (exoplayer版本2.6.1)

<com.google.android.exoplayer2.ui.DefaultTimeBar
            android:id="@id/exo_progress"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="26dp"
            android:layout_gravity="center_vertical|center_horizontal"
            android:layout_marginLeft="3dp"
            android:layout_marginRight="3dp"
            app:buffered_color="#534b20"
            app:played_color="#ffca28"
            app:unplayed_color="#515151"
            app:scrubber_drawable="@drawable/vod_seek_circle_thumb"
            app:bar_height="@dimen/vod_playback_seekbar_line_size"/>

我只想在某些情况下为buffered_color和unplayed_color使用相同的颜色。 ex)播放下载的视频

有没有办法以编程方式更改unplayed_color的颜色?

1 个答案:

答案 0 :(得分:0)

使用以下方法获取时间条参考:

 timeBar = simpleExoplayerView.findViewById(R.id.exo_progress)

然后,你可以使用这个:

    timeBar?.setBackgroundColor(requireContext().getColor(R.color.white))
    timeBar?.setScrubberColor(requireContext().getColor(R.color.white))
    timeBar?.setPlayedColor(requireContext().getColor(R.color.white))
    timeBar?.setUnplayedColor(requireContext().getColor(R.color.transparent))
    timeBar?.setBufferedColor(requireContext().getColor(R.color.transparent))