Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ExoPo弹器,播放/暂停按钮在视频播放器的中间_Android_Mediacontroller_Exoplayer - Fatal编程技术网

Android ExoPo弹器,播放/暂停按钮在视频播放器的中间

Android ExoPo弹器,播放/暂停按钮在视频播放器的中间,android,mediacontroller,exoplayer,Android,Mediacontroller,Exoplayer,我使用Exoplayer在我的Android应用程序中播放视频。我想把播放/暂停按钮放在视频播放器视图的中间(像下面图像中的一个)。如何做到这一点 我只是用一个新的布局来代替Android默认的mediaController。我想知道这是一种正确的方式来获得下面的图像布局 媒体控制器.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="matc

我使用Exoplayer在我的Android应用程序中播放视频。我想把播放/暂停按钮放在视频播放器视图的中间(像下面图像中的一个)。如何做到这一点

我只是用一个新的布局来代替Android默认的mediaController。我想知道这是一种正确的方式来获得下面的图像布局

媒体控制器.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="#CC000000"
android:orientation="vertical">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingTop="4dip"
    android:orientation="horizontal">


    <ImageButton android:id="@+id/pause"
        style="@android:style/MediaButton.Play"
        android:layout_gravity="center_horizontal"
        android:contentDescription="play/pause" />

    <TextView android:id="@+id/time_current"
        android:textSize="14sp"
        android:textStyle="bold"
        android:paddingTop="4dip"
        android:paddingLeft="4dip"
        android:layout_gravity="center_horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingRight="4dip" />

    <SeekBar
        android:id="@+id/mediacontroller_progress"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="0dip"
        android:layout_weight="1"
        android:layout_height="32dip" />

    <TextView android:id="@+id/time"
        android:textSize="14sp"
        android:textStyle="bold"
        android:paddingTop="4dip"
        android:paddingRight="4dip"
        android:layout_gravity="center_horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="4dip" />

</LinearLayout>


这可以在Exoplayer 2.1.0中实现。Exoplayer库可以为媒体控制器回放定义我们自己的自定义布局,它被称为PlayBackControllerView。它可以通过覆盖布局文件来实现。要自定义这些布局,应用程序可以在自己的res/layout*目录中定义具有相同名称的布局文件。这些布局文件覆盖ExoPlayer库提供的布局文件。我们可以通过在应用程序的res/layout目录中创建exo\u playback\u control\u view.xml文件来实现这一点

exo\u回放\u控制\u视图.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:layout_gravity="bottom"
   android:layoutDirection="ltr"
   android:background="#22000000">

   <LinearLayout
      android:id="@+id/play_pause_layout"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_centerInParent="true"
      android:paddingTop="4dp"
      android:orientation="horizontal"
      android:gravity="center">

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

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

   </LinearLayout>

   <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_marginTop="4dp"
      android:gravity="center_vertical"
      android:layout_alignParentBottom="true"
      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"/>

      <SeekBar android:id="@id/exo_progress"
          android:layout_width="0dp"
          android:layout_weight="1"
          android:layout_height="32dp"
          android:focusable="false"
          style="?android:attr/progressBarStyleHorizontal"/>

      <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>

</RelativeLayout>


参考:

这可以在Exoplayer 2.1.0中实现。Exoplayer库可以为媒体控制器回放定义我们自己的自定义布局,它被称为PlayBackControllerView。它可以通过覆盖布局文件来实现。要自定义这些布局,应用程序可以在自己的res/layout*目录中定义具有相同名称的布局文件。这些布局文件覆盖ExoPlayer库提供的布局文件。我们可以通过在应用程序的res/layout目录中创建exo\u playback\u control\u view.xml文件来实现这一点

exo\u回放\u控制\u视图.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:layout_gravity="bottom"
   android:layoutDirection="ltr"
   android:background="#22000000">

   <LinearLayout
      android:id="@+id/play_pause_layout"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_centerInParent="true"
      android:paddingTop="4dp"
      android:orientation="horizontal"
      android:gravity="center">

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

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

   </LinearLayout>

   <LinearLayout
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_marginTop="4dp"
      android:gravity="center_vertical"
      android:layout_alignParentBottom="true"
      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"/>

      <SeekBar android:id="@id/exo_progress"
          android:layout_width="0dp"
          android:layout_weight="1"
          android:layout_height="32dp"
          android:focusable="false"
          style="?android:attr/progressBarStyleHorizontal"/>

      <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>

</RelativeLayout>


参考:

您是否尝试过创建按钮并将其添加到布局中?我尝试过,但是按钮在底部。你能发布你的布局并告诉我你到底在哪里尝试添加这些按钮吗?我已经更新了代码,
ImageButton
就是你尝试添加的按钮吗?你尝试过创建按钮并将其添加到布局中吗?我已经尝试过了,但是按钮在底部。你能发布你的布局并告诉我你到底在哪里添加这些按钮吗?我已经更新了代码,
ImageButton
就是你要添加的按钮?