我试图在我的android应用程序中使用Youtube播放器。它显示了播放器的旧过时的UI,但在样本中显示了一个现代的UI。两个应用程序之间的唯一区别是我使用的是YoutubePlayerSupportFragment而不是YoutubePlayerFragment。这是因为我在pre - lol棒棒糖设备中使用AppCompatActivity作为材料主题。
我在日志中得到以下语句:
W/YouTubeAndroidPlayerAPI﹕ Cannot load modern controls UI. Upgrade to the latest version of the Android YouTube API.
如何克服这个问题?我需要使用Appcompat和YoutubePlayerSupportFragment的现代UI
我找到了适合我的方法。
在你的fragment当前打开的Activity的super.OnCreate()之前设置:
getLayoutInflater () .setFactory(这);
我猜 YouTube api还没有更新
考虑一下:
- YouTube Android Player API(在这里找到)只是一堆链接到官方YouTube应用程序的远程
View
,需要安装在设备上才能工作 - YouTube应用程序现在是minSdk 15,这意味着
Fragment
是本地支持的 - 正如你提到的,一切都适用于
YouTubePlayerFragment
,但不适用YouTubePlayerSupportFragment
我相信YouTube"SDK"可以直接从YouTube应用程序导入播放器视图,利用现代UI控件。然而,支持Fragment
需要在SDK端采取更多的行动,这些行动尚未以更新的形式采取。
TL;博士
你最好的选择是等待YouTube api更新到一个较新的版本。
编辑
看起来YouTube SDK刚刚更新到1.2.2!点击这里下载