【问题标题】:ExoPlayer - changing thumb in DefaultTimeBarExoPlayer - 在 DefaultTimeBar 中更改拇指
【发布时间】:2018-03-21 22:03:05
【问题描述】:

据我了解,从 2.4.0 版本的发布说明中,ExoplayerSeekBarDefaultTimeBar 取代。 https://github.com/google/ExoPlayer/blob/dev-v2/RELEASENOTES.md

据我所知,截至 2017 年 2 月 19 日:https://github.com/bigexxx/ExoPlayer/blob/c5db6f39a6e07b4f98364ff40476e4e213172488/library/src/main/java/com/google/android/exoplayer2/ui/PlaybackControlView.java exo_progress 是 SeekBar 类型:

(第 285 行): progressBar = (SeekBar) findViewById(R.id.exo_progress);

现在: github.com/google/ExoPlayer/blob/release-v2/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlaybackControlView.java

它是:

(行:384):timeBar = (TimeBar) findViewById(R.id.exo_progress);

DefaultTimeBar 没有像.setThumb() 这样的方法,在我看来,拇指在drawPlayhead(Canvas canvas) 中创建为Canvas

问题:是否可以在DefaultTimeBar 中设置自己的拇指图标?

【问题讨论】:

标签: android android-layout exoplayer exoplayer2.x


【解决方案1】:

我没有找到在 DefaultTimeBar 中设置拇指图标的选项。

您可以复制 DefaultTimeBar 并通过更改 drawPlayhead(Canvas canvas) 方法自定义拇指。

你也可以通过添加exo_playback_control_view.xml来改变它的颜色。 (洗涤器 == 拇指)

        <com.google.android.exoplayer2.ui.DefaultTimeBar
            android:id="@id/exo_progress"
            android:layout_width="0dp"
            android:layout_weight="1"
            app:scrubber_color="@color/scrubberColor"
            app:played_color="@color/playedColor"
            app:unplayed_color="@color/unplayedColor"
            app:buffered_color="@color/bufferedColor"
            android:layout_height="26dp"/>

更多关于自定义 ExoPlayer 的 UI 组件的信息:https://medium.com/google-exoplayer/customizing-exoplayers-ui-components-728cf55ee07a

'

==========更新================

可以使用以下属性来更改可绘制的scrubber:

    app:scrubber_drawable="@drawable/ic_scrubber"
    app:scrubber_enabled_size="24dp"

【讨论】:

    【解决方案2】:

    这个选项是 ExoPlayer 团队在 ticket 提出后添加的。

    app:scrubber_drawable="@drawable/ic_scrubber"
    

    【讨论】:

    • 干得好,经过大量搜索,找到了这个。节省了我的时间,谢谢。
    【解决方案3】:

    在我的情况下,我需要在聚焦时更改洗涤器(拇指)的颜色。 所以我创建了一个像这样的drawable bg_progressbar_play_video

     <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    
        <item android:state_focused="true"
            android:drawable="@drawable/bg_progressbar_play_video_focused"/>
    
        <item android:drawable="@drawable/bg_progressbar_play_video_normal"/>
    </selector>
    

    这里是 bg_progressbar_play_video_normal

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="oval">
        <size
            android:width="14dp"
            android:height="14dp" />/
        <solid android:color="#ffffff" />
    
    </shape>
    

    和 bg_progressbar_play_video_focused

    <?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="oval"
        >
    <size android:height="14dp" android:width="14dp"/>/
        <solid android:color="@android:color/holo_red_dark"/>
    </shape>
    

    这是我将drawable添加到scrubber的方法。

       <com.google.android.exoplayer2.ui.PlayerView
            android:id="@+id/videoPlayerView"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:background="#000000"
            android:focusable="true"
            app:played_color="@android:color/holo_red_dark"
            app:scrubber_drawable="@drawable/bg_progressbar_play_video"
            app:layout_constraintDimensionRatio="16:9"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    

    如果你只需要改变scrubber(拇指)的颜色和启用大小,你可以使用以下属性:

     app:scrubber_enabled_size="24dp"
     app:scrubber_color="@android:color/holo_red_dark"
    

    有关您可以自定义的这些属性的更多信息,请在此处阅读:https://exoplayer.dev/doc/reference/com/google/android/exoplayer2/ui/DefaultTimeBar.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-04
      • 2014-02-09
      • 2022-01-24
      • 2012-03-30
      相关资源
      最近更新 更多