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

时间:2016-12-01 15:40:11

标签: java android chromecast

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

所以我有两个问题:

  1. 从默认的样式开始?
  2. 如何更改图标的样式或颜色?
  3. 我正在使用cast sdk v3。

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

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

    <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;
        }
    

2 个答案:

答案 0 :(得分:0)

尝试在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>

答案 1 :(得分:0)

解决方法很简单,因为更改活动主题以扩展Theme.AppCompat而不是Theme.AppCompat.Light.DarkActionBar