设置Android TV播放控制的位置

时间:2017-03-09 01:52:55

标签: android exoplayer

我有Android TV的问题,我需要你的帮助。

下面是布局代码:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>

<VideoView
    android:id="@+id/videoView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    />

<fragment
    android:id="@+id/playback_controls_fragment"
    android:name="com.sharewis.leonettv.PlaybackOverlayFragment"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />

呈现的布局:

enter image description here

如何设置Android TV播放控制的位置(等等:底部,顶部......)?

3 个答案:

答案 0 :(得分:0)

我使用 lb_playback_controls_padding_top lb_playback_controls_padding_bottom

手动覆盖Playback控件的填充尺寸(包括顶部和底部)

答案 1 :(得分:0)

将ViewGroup更改为

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >

    <VideoView
        android:id="@+id/videoView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        />

    <fragment
        android:id="@+id/playback_controls_fragment"
        android:name="com.sharewis.leonettv.PlaybackOverlayFragment"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        />
</RelativeLayout>

并将两个xml属性layout_alignParentBottom和layout_centerHorizo​​ntal添加到片段,如上所示。

它使此视图的playback_control_fragment底边与父节点的底边相匹配,并将此子节点水平居中于其父节点。

  

https://developer.android.com/reference/android/widget/RelativeLayout.LayoutParams.html

答案 2 :(得分:0)

更新到API v28 / leanback支持v28.x.x之后,我发现Louis Nguyen提供的答案不再起作用。

查看API 28 / Leanback支持28.x.x的PlaybackSupportFragment.setVerticalGridViewLayout()源代码,您可以看到Google更改了此对齐方式的设置。

TLDR

如果您使用的是 API v28 / Leanback支持v28.x.x

  • 覆盖维度值"lb_playback_other_rows_center_to_bottom"
  • 值为135dp时,播放控件的位置与我们使用API​​ v26 / LeanbackSupport v26时的位置类似。

如果您使用的是 API v26 / Leanback支持v26.x.x

  • 覆盖维度值"lb_playback_controls_padding_top"
  • 值300dp将控件放置在底部周围,并具有一定的底部边距