Android Chrome Cast button



我只是在开发一个Chrome Cast应用程序,并陷入了一个基本步骤。我正在关注互联网上有关Chrome Cast的GUI的一些示例。应该启动铸件的按钮(首先选择设备)通常位于动作栏中。这就是添加的方式:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    getMenuInflater().inflate(R.menu.main, menu);
    mCastManager.addMediaRouterButton(menu, R.id.media_route_menu_item);
    return true;
}

和xml,用于r.id.media_route_menu_item

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto" >
    <item
        android:id="@+id/media_route_menu_item"
        android:title="@string/media_route_menu_title"
        app:actionProviderClass="android.support.v7.app.MediaRouteActionProvider"
        app:showAsAction="always"/>
</menu>

您可以在第二部分中看到:

    app:actionProviderClass="android.support.v7.app.MediaRouteActionProvider"

将启动Chrome Cast Devices选择。我需要将菜单元素从动作栏中移出,然后制作一个执行此操作的按钮。问题是我不能做

之类的事情
<Button
...
            app:actionProviderClass="android.support.v7.app.MediaRouteActionProvider"
/>

ActionProviderClass准备使用菜单项,因此它行不通。我会感谢如何使用按钮解决该问题的任何想法。

您可以像这样使用Mediaroutebutton:

XML
<android.support.v7.app.MediaRouteButton
 android:id="@+id/media_route_button"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"/>

java

MediaRouteButton mediaRouteButton = MediaRouteButton) findViewById(R.id.media_route_button);
mediaRouteButton.setRouteSelector(your_selector);

只是为了完成席尔瓦的回答,这是您使用Tollbar的活动所需的内容:

MediaRouteButton mediaRouteButton = (MediaRouteButton) mToolbar.findViewById(R.id.mediaRouteMenuItem);
// mediaRouteButton.setRouteSelector(MediaRouteSelector.EMPTY);
CastButtonFactory.setUpMediaRouteButton(this, mediaRouteButton);

在我们的github存储库上查看此示例,我们显示了三种不同的方法。如果您在经历它们之后仍然有疑问,请回来,我们会看到我们可以做些什么来提供帮助。

相关内容

  • 没有找到相关文章

最新更新