添加“返回" ExoPlayer Controller View上的按钮

时间:2017-12-01 09:17:04

标签: android uiviewcontroller exoplayer

我有一项活动的ExoPlayer。 如何在控制器视图中添加“后退”按钮以让用户返回上一个活动?我们非常欢迎任何帮助。

2 个答案:

答案 0 :(得分:1)

首先,要在整个应用程序中自定义SimpleExoPlayerView的布局,或者仅针对某些配置,您可以在应用程序res / layout目录中定义exo_playback_control_view.xml布局文件。这些布局将覆盖ExoPlayer库提供的布局,并且将被夸大以供SimpleExoPlayerView使用。

在exo_playback_control_view.xml中,您可以尝试使用我的:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    android:layoutDirection="ltr"
    android:background="#CC000000"

    android:orientation="vertical">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:paddingTop="4dp"
        android:orientation="horizontal">


        <ImageView
            android:layout_width="24dp"
            android:src="@drawable/ic_hide"
            android:id="@+id/exo_controller"
            android:layout_height="24dp" />

        <ImageButton android:id="@id/exo_play"
            style="@style/ExoMediaButton.Play"/>

        <ImageButton android:id="@id/exo_pause"
            style="@style/ExoMediaButton.Pause"/>

        <Button
            android:id="@+id/btn_back"
            android:text="Back"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="4dp"
        android:gravity="center_vertical"
        android:orientation="horizontal">

        <TextView android:id="@id/exo_position"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="14sp"
            android:textStyle="bold"
            android:paddingLeft="4dp"
            android:paddingRight="4dp"
            android:includeFontPadding="false"
            android:textColor="#FFBEBEBE"/>

        <com.google.android.exoplayer2.ui.DefaultTimeBar
            android:id="@id/exo_progress"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="26dp"/>

    <TextView android:id="@id/exo_duration"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="14sp"
            android:textStyle="bold"
            android:paddingLeft="4dp"
            android:paddingRight="4dp"
            android:includeFontPadding="false"
            android:textColor="#FFBEBEBE"/>

    </LinearLayout>

</LinearLayout>

此类为exoplayer提供了一些常用控制器,另外还有一个id为“btn_back”的按钮。您可以在活动中找到绑定,然后添加您想要的任何事件,例如this.finish()。

答案 1 :(得分:0)

将以下代码添加到您的主要布局中,例如 LinearLayout、RelativeLayout 等。

 <RelativeLayout
            android:id="@+id/ry_player_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:visibility="visible">
    
            <com.potyvideo.library.AndExoPlayerView
                android:id="@+id/andExoPlayerView"
                android:layout_width="match_parent"
                android:layout_height="240dp"
                android:visibility="visible"
                app:andexo_aspect_ratio="aspect_match"
                app:andexo_full_screen="true"
                app:andexo_play_when_ready="false"
                app:andexo_resize_mode="Fit" />
    
            <RelativeLayout
                android:id="@+id/ry_course_iv"
                android:layout_width="match_parent"
                android:layout_height="240dp"
                android:layout_gravity="center"
                android:clickable="true"
                android:focusable="true"
                android:foreground="#66000000"
                android:visibility="visible">
    
                <ImageView
                    android:id="@+id/iv_thumb"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:scaleType="fitXY" />
    
            </RelativeLayout>

            <LinearLayout
                android:id="@+id/ly_back"
                android:layout_width="30dp"
                android:layout_height="30dp"
                android:layout_margin="15dp"
                android:gravity="center"
                android:orientation="vertical">
    
                <TextView
                    android:layout_width="17dp"
                    android:layout_height="18dp"
                    android:background="@drawable/ic_back" />
    
            </LinearLayout>
    
    </RelativeLayout>