我正在从一个自定义的MediaRouteButton移动到操作栏中的一个按钮,但它不能正确显示。自定义时的按钮是白色的,这是我想要的。然而,即使操作栏是“全息光”样式,按钮在操作栏上仍然是白色的(几乎看不见)。按钮应该是黑色的。
按钮创建为XML菜单项:
<item
android:id="@+id/menu_item_media_route"
android:title="@string/menu_item_media_route"
android:actionViewClass="android.support.v7.app.MediaRouteButton"
android:actionProviderClass="android.support.v7.app.MediaRouteActionProvider"
android:showAsAction="always" />
我的应用程序的样式为“@style/AppTheme”:
<style name="AppTheme" parent="android:Theme.Holo.Light">
</style>
我的主题"@style/FullScreActionbarTheme"的活动:
<style name="FullscreenActionbarTheme" parent="android:Theme.Holo.Light">
<item name="android:windowFullscreen">true</item>
<item name="android:windowActionBarOverlay">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowBackground">@null</item>
<item name="android:actionBarStyle">@style/FullscreenActionbar</item>
</style>
<style name="FullscreenActionbar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid">
</style>
我没有自定义的“ic_media_route_(on | off).png”绘图工具——我以前是这样做的,但后来删除了它们。
我试着改变各种风格,虽然动作栏会变暗,但投射按钮总是白色的。(因为它应该在黑暗的动作栏上,而不是浅色的。)
按钮功能齐全,只是颜色不对。当我按下按钮时出现的“选择器”对话框的样式是“全息光”。
那么,为什么我的演员按钮在“Holo.Light”主题上被涂成白色,就好像它是“Holo”(黑暗)主题一样?
如果所有其他方法都失败,您可以在onCreate()中以编程方式更改颜色:
ImageButton button = ((ImageButton) toolbar.getChildAt( ... )); // The view index of the button
button.setColorFilter(Color.BLACK, PorterDuff.Mode.MULTIPLY);
摘自:链接
警告:当实施提供媒体路由器接口的活动时,即使您的Android:MinSDK版本为API 11或更高版本,您也必须从Android支持库扩展ActionBarActivity或FragmentActivity。
ActionBarActivity已被AppCompatActivity取代,因此您应该改用它。
Support-V7媒体路由按钮取决于此。查看super调用:
public MediaRouteButton(Context context, AttributeSet attrs, int defStyleAttr) {
super(MediaRouterThemeHelper.createThemedContext(context), attrs, defStyleAttr);
....
....
}
<代码>MediaRouterThemeHelper。CreateMedContext(上下文)
:
public static Context createThemedContext(Context context) {
boolean isLightTheme = isLightTheme(context);
return new ContextThemeWrapper(context, isLightTheme ?
R.style.Theme_MediaRouter_Light : R.style.Theme_MediaRouter);
}
isLightTheming
是通过解析R.attr.isLightTheming
来设置的。
private static boolean isLightTheme(Context context) {
TypedValue value = new TypedValue();
return context.getTheme().resolveAttribute(R.attr.isLightTheme, value, true)
&& value.data != 0;
}
因此,isLightTheme是false
请注意,Caution语句暗示您的父主题必须是AppCompat主题-AppCompatActive
(或ActionBaractive
)不能与android: Theme.*
一起使用。
编辑:
这里发生了很多讨论:链接
人们可以浏览聊天日志来阅读尝试的方法。最后,媒体路由器支持库似乎需要一些工作才能做好生产准备。在此处阅读更多:MediaRouteActionProvider连接对话框主题。
我试图理解DOM结构 所以我在正文中添加了 但我不明白为什么滚动条也被染成红色? null null
这是我的第一个Spring Boot代码。不幸的是,它总是关机。我原本期望它能持续运行,这样我的web客户端就能从浏览器中获取一些数据。 附注。Build.Gradle是错误。 一旦我用粗体取下上面那一行,一切都正常了。我的应用程序上下文现在是正确的。谢谢戴夫
我想从Firebase获取数据,为此我已将Firebase集成到我的Flutter应用SciFish中。 在 pubspec.yaml 中,我添加了插件: 根目录中的fltterfire configure命令看起来很好: 我可以看到Android/应用程序/谷歌服务. 初始化Firebase后,我的如下所示: 在TemperaturePage中,我创建了获取数据的方法,但wait中的print语
这是我的代码: 因为我使用POM设计模式,所以我为此创建了一种方法: 这是超文本标记语言标签: 我的问题是,即使存在WebElement,isDisplayed()也返回false。
轻推,一种智能工作方式 结合大数据、智能化、信息化、移动互联等新兴技术和产品应用,提供“智慧城市”、“智慧农业”、“智慧企业”、“智慧工业”四个行业领域的解决方案,助力大中型企业迈入智能工作时代!