Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.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
如何使用YoutubePlayerSupportFragment在Android中使用具有现代UI的Youtube播放器_Android_Youtube_Youtube Api - Fatal编程技术网

如何使用YoutubePlayerSupportFragment在Android中使用具有现代UI的Youtube播放器

如何使用YoutubePlayerSupportFragment在Android中使用具有现代UI的Youtube播放器,android,youtube,youtube-api,Android,Youtube,Youtube Api,我正在尝试在我的android应用程序中使用Youtube播放器。它为玩家显示了一个过时的用户界面,但在示例中,它显示了一个现代用户界面。这两个应用程序之间的唯一区别是我使用的是YoutubePlayerSupportFragment而不是YoutubePlayerFragment。这是因为我使用AppCompatActivity作为棒棒糖制作前设备的材料主题 我在日志中得到以下声明: W/YouTubeAndroidPlayerAPI﹕ Cannot load modern controls

我正在尝试在我的android应用程序中使用Youtube播放器。它为玩家显示了一个过时的用户界面,但在示例中,它显示了一个现代用户界面。这两个应用程序之间的唯一区别是我使用的是YoutubePlayerSupportFragment而不是YoutubePlayerFragment。这是因为我使用AppCompatActivity作为棒棒糖制作前设备的材料主题

我在日志中得到以下声明:

W/YouTubeAndroidPlayerAPI﹕ Cannot load modern controls UI. Upgrade to the latest version of the Android YouTube API.

如何克服这个问题?我需要使用Appcompat和YoutubePlayerSupportFragment的现代用户界面

我的猜测是YouTube API尚未更新

考虑这一点:

  • YouTube Android Player API(found)只是一组远程
    视图
    链接到官方YouTube应用程序,需要安装在设备上才能工作
  • YouTube应用程序现在是minSdk 15,这意味着
    Fragment
    s是本机支持的
  • 正如您所提到的,一切都与
    YouTubePlayerFragment
    配合使用,但与
    YouTubePlayerSupportFragment
我相信YouTube“SDK”可以直接从YouTube应用程序导入播放器视图,利用现代UI控件。但是,支持
Fragment
s需要在SDK端执行更多操作,这些操作尚未以更新的形式执行

TL;DR

您最好的选择是等待YouTube API更新到新版本


编辑


看起来YouTube SDK刚刚更新为1.2.2!开始下载吧。

我找到了适合我的东西

在片段当前所在的活动中的super.OnCreate()之前设置此选项:


getLayoutInflater().setFactory(此)

你能添加一些代码吗?我面临着完全相同的问题。如果您在这里找到SolutionName,请更新,这就是为什么我在这里添加了赏金one@PierfrancescoSoffritti:你确定它显示了现代用户界面吗?因为我也试过同样的方法,但现代用户界面没有come@Kalyan日食时,yes@dexor:我仍然得到旧的用户界面:(我尝试了新的youtube sdk版本,但仍然没有改进!我在这里发布了一个工作,使用youtube活动:很棒的发现!不知道为什么需要这个,或者它做什么,但它起了作用!谷歌,如果你正在读这篇文章,请更新文档!我假设如果你使用Support libs,使用的默认工厂都是旧的。它们有点强迫,而且嗯,当你明确说明你想要使用的工厂时,它会覆盖它。我没有读过太多关于工厂的书,或者他们实际上做了什么,这纯粹是假设。