【问题标题】:How to Make A Custom Cast MediaRouter Dialog如何制作自定义 Cast MediaRouter 对话框
【发布时间】:2016-02-17 17:24:36
【问题描述】:

我目前在我的项目中使用 CastCompanionLibrary。它运行良好,但是我需要自定义 Cast 按钮的行为。

目前,正在显示一个包含 Cast 设备的对话框按钮(这是预期的行为)。此外,在投射时,会显示元数据和停止/开始按钮。我需要自定义这个。我不想显示停止/开始按钮。我怎样才能做到这一点?

以下是我的代码的相关部分:

<item
    android:id="@+id/media_route_menu_item"
    android:title="Google Cast"
    compat:actionProviderClass="android.support.v7.app.MediaRouteActionProvider"
    compat:showAsAction="always"/>

if (mCastManager != null) {
    mediaRouteMenuItem = mCastManager.addMediaRouterButton(menu, R.id.media_route_menu_item);
}

【问题讨论】:

  • 不清楚你在问什么,请澄清:(a)你想自定义两个对话框(当你不投射和投射时)还是只自定义你得到的对话框铸件? (b) 当您说您想要自定义显示元数据的区域并添加播放/暂停/停止按钮时,请详细说明您正在寻找什么类型的自定义,因为根据您的回答,可以提出不同的建议.
  • 我想在投射时自定义对话框。我想向用户展示选项:本地设备和投射设备,以便 s(he) 可以在它们之间切换。无需播放/停止按钮。谢谢。

标签: android google-cast


【解决方案1】:

您有几个选择。首先,您应该注意,在投射时,您可以构建您的应用程序,使当时停止投射的行为会导致本地播放,因此“停止投射”按钮就足够了。如果您只需隐藏 CCL 提供的现有对话框的“内容”区域即可,您可以将布局文件“custom_media_route_controller_controls_dialog.xml”复制到您自己的项目中并隐藏您想要的区域(不要删除任何组件但将内容区域包装在一个简单的布局中并隐藏该布局)。如果您更喜欢拥有自己的,请遵循 CCL 的做法;通过覆盖 onCreateControllerDialogFragment() 扩展 MediaRouteDialogFactory,并定义您自己的 MediaRouteControllerDialog 扩展(参见 CCL 中的 com.google.android.libraries.cast.companionlibrary.cast.dialog.video 包),最后,扩展 VideoCastManager 并覆盖 getMediaRouteDialogFactory()退回自己的工厂。

【讨论】:

  • ..我们也可以用 Cast v3 做到这一点吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多