如何在 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 颜色
在 Google Cast Chrome API (v3) 中使用playbackDuration/startTime 进行部分播放