使用 VideoFragment 在 Leanback 上播放视频时如何将缩放模式设置为拉伸至全屏

普拉山

谷歌的Leanback 展示没有 ExoPlayer 的视频播放器

Google 的Leanback 展示带有 ExoPlayer 的视频播放器

我已经尝试过谷歌的 Leanback 展示,它也在“适合屏幕”模式下播放视频,两侧有黑条。我在 API 文档的任何地方都找不到更改缩放模式的选项

普拉山

我必须查看VideoFragment来源才能弄清楚这一点。VideoFragment有一个简单的SurfaceView作为其布局的根元素,您所要做的就是SurfaceView匹配父级(即设备屏幕)的宽度和高度。为此,只需覆盖onVideoSizeChanged并用于getSurfaceView获取SurfaceViewVideoFragment.

@Override
protected void onVideoSizeChanged(int width, int height) {
    switch (scaleMode) {
        //Flag indicates that this video should stretch to screen
        case MediaMetaData.SCALE_MODE_STRETCH:  
            View rootView = getView();
            SurfaceView surfaceView = getSurfaceView();
            ViewGroup.LayoutParams params = surfaceView.getLayoutParams();
            params.height = rootView.getHeight();
            params.width = rootView.getWidth();
            surfaceView.setLayoutParams(params);
            break;
        //When the video shouldn't stretch, just invoke super to have the VideoFragment's default behavior which is fit to screen
        default:                            
            super.onVideoSizeChanged(width, height);
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何创建透明的PlaybackControlsRow leanback

来自分类Dev

如何使用leanback库在android TV中有效地实现大型单个列表

来自分类Dev

如何使用leanback库在Android TV中有效地实现大型单个列表

来自分类Dev

在Livecode中将全屏模式设置为“ exactFit”时,如何使用本机视频播放器进行设置?

来自分类Dev

如何在TV leanback应用程序中捕获触摸事件以使用VideoSupportFragment显示视频控件?

来自分类Dev

Leanback-如何创建镶嵌视图?

来自分类Dev

Leanback 库 - PlaybackSupportFragment - 如何隐藏次要操作

来自分类Dev

是否有使用字幕的ExoPlayer + Leanback库示例?

来自分类Dev

为ListView创建类似于leanback的Zoom效果

来自分类Dev

Android TV的Leanback:取消设置视频标题会增加行间距

来自分类Dev

在leanback的标题视图中使用多个Orb按钮或其他按钮

来自分类Dev

在leanback的标题视图中使用多个Orb按钮或其他按钮

来自分类Dev

如何在com.android.support:leanback-v17中实现2级以上导航

来自分类Dev

android leanback搜索片段

来自分类Dev

Leanback行片段

来自分类Dev

Android TV Leanback

来自分类Dev

Leanback VerticalGridFragment删除顶部间距

来自分类Dev

在exoplayer leanback中隐藏seekbar

来自分类Dev

简化Android TV / Leanback的登录

来自分类Dev

使用导航组件时将“片段”设置为“全屏”-Android

来自分类Dev

使用托管的Blazor将全屏设置为vimeo播放器

来自分类Dev

在使用ffmpeg通过视频时,如何将音频转码为较低的比特率?

来自分类Dev

Android Studio Leanback隐藏状态栏

来自分类Dev

Android TV Leanback imagecardview文字颜色

来自分类Dev

Android Leanback ArrayObjectAdapter 添加多个Presenter

来自分类Dev

VerticalGridFragment 未正确显示 Android Leanback

来自分类Dev

当设备方向为横向时,使用javascript自动将视频全屏显示

来自分类Dev

使用HTML5和javascript在全屏播放器而非背景全屏模式下自动播放视频

来自分类Dev

如何将Nautilus设置为在双击时使用同一窗口?

Related 相关文章

  1. 1

    如何创建透明的PlaybackControlsRow leanback

  2. 2

    如何使用leanback库在android TV中有效地实现大型单个列表

  3. 3

    如何使用leanback库在Android TV中有效地实现大型单个列表

  4. 4

    在Livecode中将全屏模式设置为“ exactFit”时,如何使用本机视频播放器进行设置?

  5. 5

    如何在TV leanback应用程序中捕获触摸事件以使用VideoSupportFragment显示视频控件?

  6. 6

    Leanback-如何创建镶嵌视图?

  7. 7

    Leanback 库 - PlaybackSupportFragment - 如何隐藏次要操作

  8. 8

    是否有使用字幕的ExoPlayer + Leanback库示例?

  9. 9

    为ListView创建类似于leanback的Zoom效果

  10. 10

    Android TV的Leanback:取消设置视频标题会增加行间距

  11. 11

    在leanback的标题视图中使用多个Orb按钮或其他按钮

  12. 12

    在leanback的标题视图中使用多个Orb按钮或其他按钮

  13. 13

    如何在com.android.support:leanback-v17中实现2级以上导航

  14. 14

    android leanback搜索片段

  15. 15

    Leanback行片段

  16. 16

    Android TV Leanback

  17. 17

    Leanback VerticalGridFragment删除顶部间距

  18. 18

    在exoplayer leanback中隐藏seekbar

  19. 19

    简化Android TV / Leanback的登录

  20. 20

    使用导航组件时将“片段”设置为“全屏”-Android

  21. 21

    使用托管的Blazor将全屏设置为vimeo播放器

  22. 22

    在使用ffmpeg通过视频时,如何将音频转码为较低的比特率?

  23. 23

    Android Studio Leanback隐藏状态栏

  24. 24

    Android TV Leanback imagecardview文字颜色

  25. 25

    Android Leanback ArrayObjectAdapter 添加多个Presenter

  26. 26

    VerticalGridFragment 未正确显示 Android Leanback

  27. 27

    当设备方向为横向时,使用javascript自动将视频全屏显示

  28. 28

    使用HTML5和javascript在全屏播放器而非背景全屏模式下自动播放视频

  29. 29

    如何将Nautilus设置为在双击时使用同一窗口?

热门标签

归档