如何在 cast sdk v3 中为投射按钮添加自定义样式?

Posted

技术标签:

【中文标题】如何在 cast sdk v3 中为投射按钮添加自定义样式?【英文标题】:How to add custom style for cast button in cast sdk v3? 【发布时间】:2016-12-01 15:40:11 【问题描述】:

我将投射集成到我的应用中,默认投射按钮颜色为黑色,但我更喜欢白色。

所以我有两个问题:

    它是从默认的什么风格中获取的? 如何更改图标的样式或颜色?

我正在使用 cast sdk v3。

我阅读了其他相关帖子,但它们都与 sdk v2 相关。

这是我在谷歌示例中的菜单项布局:

<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"/>

这是创建按钮的菜单代码:

   @Override
    public boolean onCreateOptionsMenu(Menu menu) 
        super.onCreateOptionsMenu(menu);

        getMenuInflater().inflate(R.menu.menu_podcast, menu);

        mMediaRouteItem =
                CastButtonFactory.setUpMediaRouteButton(getApplicationContext(),
                        menu,
                        R.id.media_route_menu_item);

        return true;
    

【问题讨论】:

【参考方案1】:

解决方案很简单,只需将活动主题更改为扩展 Theme.AppCompat 而不是 Theme.AppCompat.Light.DarkActionBar

【讨论】:

【参考方案2】:

尝试在 Android 中检查 Castv3 的 Customize App guide。您可以自定义颜色、叠加样式、控制器样式等。

自定义主题

IntroductoryOverlay 类支持您的应用可以在自定义主题中覆盖的各种样式属性。这个例子展示了如何在覆盖小部件上覆盖按钮和标题的文本外观:

<style name="CustomCastIntroOverlay" parent="CastIntroOverlay">
<item name="castButtonTextAppearance">@style/TextAppearance.CustomCastIntroOverlay.Button</item>
<item name="castTitleTextAppearance">@style/TextAppearance.CustomCastIntroOverlay.Title</item>
</style>
<style name="TextAppearance.CustomCastIntroOverlay.Button" parent="android:style/TextAppearance">
<item name="android:textColor">#FFFFFF</item>
</style>
<style name="TextAppearance.CustomCastIntroOverlay.Title" parent="android:style/TextAppearance.Large">
<item name="android:textColor">#FFFFFF</item>
</style>

【讨论】:

这仅用于自定义其他 ux 小部件,例如单击按钮时打开的小对话框。

以上是关于如何在 cast sdk v3 中为投射按钮添加自定义样式?的主要内容,如果未能解决你的问题,请参考以下文章

Cast v3 中的 ActionBar Cast Button 颜色

Chrome Cast 自定义 ActionBar 图标

在 Google Cast Chrome API (v3) 中使用playbackDuration/startTime 进行部分播放

从未调用过投射自定义频道回调

发送方和接收方的 google-cast-sdk 音频和字幕手动处理

在 iPhone 3.0 SDK 中为 MoviePlayer 添加自定义控件