如何在 cast sdk v3 中为 cast 按钮添加自定义样式?
How to add custom style for cast button in cast sdk v3?
我在我的应用程序中集成了投射,投射按钮的默认颜色是黑色,但我更喜欢白色。
所以我有 2 个问题:
- 默认采用什么样式?
- 如何更改图标的样式或颜色?
我正在使用 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;
}
尝试在 Android 中检查 Customize App guide 的 Castv3。您可以自定义颜色、覆盖样式、控制器样式等。
自定义主题
IntroductoryOverlay class 支持您的应用可以在自定义主题中覆盖的各种样式属性。此示例展示了如何覆盖覆盖小部件上的按钮和标题的文本外观:
<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>
解决方案很简单,只需更改 activity 主题以扩展 Theme.AppCompat 而不是 Theme.AppCompat.Light.DarkActionBar
我在我的应用程序中集成了投射,投射按钮的默认颜色是黑色,但我更喜欢白色。
所以我有 2 个问题:
- 默认采用什么样式?
- 如何更改图标的样式或颜色?
我正在使用 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;
}
尝试在 Android 中检查 Customize App guide 的 Castv3。您可以自定义颜色、覆盖样式、控制器样式等。
自定义主题
IntroductoryOverlay class 支持您的应用可以在自定义主题中覆盖的各种样式属性。此示例展示了如何覆盖覆盖小部件上的按钮和标题的文本外观:
<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>
解决方案很简单,只需更改 activity 主题以扩展 Theme.AppCompat 而不是 Theme.AppCompat.Light.DarkActionBar