- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了一个问题,即更改支持 ActionBar 的可绘制背景会更改大部分栏的颜色,但会在文本和图标周围保留旧颜色。我试过更改支持 ActionBar 和我用来制作它的 ToolBar 的颜色。我已经尝试了许多使 UI 元素无效的不同方法。我已经厌倦了设置颜色和文本是不同的顺序。我试过隐藏和显示文本。我就是不能让它变成一种纯色。
这是我的 ActionBar 样式:
<style name="LocationBar" parent="ThemeOverlay.AppCompat.ActionBar">
<item name="android:textColorPrimary">@color/text_color_primary_inverse</item>
<item name="android:textColorSecondary">@color/text_color_primary_inverse</item>
<item name="android:background">@color/weather_cool</item>
</style>
这就是我将它添加到我的 Activity 中的方式:
<android.support.v7.widget.Toolbar
android:id="@+id/location_bar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:theme="@style/LocationBar"/>
在 Java 代码中,我将其设置为 supportActionBar:
_locationBar = (Toolbar)findViewById(R.id.location_bar);
setSupportActionBar(_locationBar);
然后在获取天气后,我尝试像这样调整颜色:
ColorDrawable warmDrawable = new ColorDrawable(ContextCompat.getColor(this, R.color.weather_warm));
getSupportActionBar().setBackgroundDrawable(warmDrawable);
这就是您在图片中看到的结果。大部分条形图会改变颜色,但不会全部改变颜色。
最佳答案
...changing the background drawable of the support ActionBar changes the color of most of the bar but leaves the old color around the text and icons...
发生这种情况的原因是因为您使用的是 android:theme
而不是 style
。 theme
应用于您的 Toolbar
中的每个子项,在本例中包括 TextView
标题背景和您的设置按钮背景。 style
旨在用于 View 级别,并且只会应用于您的 Toolbar
背景。
之前
<android.support.v7.widget.Toolbar
...
android:theme="@style/LocationBar" />
之后
<android.support.v7.widget.Toolbar
...
style="@style/LocationBar" />
关于android - 以编程方式更改 supportActionBar 的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45452984/
我在刷新 ActionBar 标题时遇到问题。该应用程序相当简单,目前它只有一项 Activity :`
我有一个问题。我有一个支持操作栏,我在其中设置了图像。问题是图像稍微偏右。我认为这是一个兼容性问题。 这是图像的屏幕截图: 如您所见,actionBar 中的图像稍微偏右(如果看不到,请相信我)。 当
我遇到了一个问题,即更改支持 ActionBar 的可绘制背景会更改大部分栏的颜色,但会在文本和图标周围保留旧颜色。我试过更改支持 ActionBar 和我用来制作它的 ToolBar 的颜色。我已经
今晚我正在试验新闻主题,我想知道是否有人知道解决此问题的方法。 这出现在股票上 Toolbar甚至,如下所示,在引用自定义布局文件时。 它相对较小,但我的强制症眼睛正好盯着它,所以也许有人可以提供帮助
我正在尝试构建一个单一 Activity 应用程序并在我的 Activity 中使用自定义 SupportActionBar。其他View都是Fragments。 我的自定义 SupportActio
我发现很多关于如何禁用 Android ActionBar 的动画的问题。我有完全相反的问题。我确实想要动画,但它应该开箱即用,对吧? 我认为问题出在我的自定义工具栏上: 我在 mij
我有以下设置: 和 2 false 和 getSupportActionBar().setSubtitle( targetString ); @textAllCaps 被应用,但
我的 Activity 中有这段代码: protected void onCreate(Bundle savedInstanceState) { ... Toolbar toolbar
我已经按照说明在我的应用程序中实现了一个抽屉导航 in the android documentation. 一切正常,但由于我的一些 fragment 正在使用选项卡,我想在展开抽屉时同时“滚动”t
我有一个扩展 ExpandableListActivity 的类以将我的数据显示为可扩展 ListView ,现在我的应用程序支持旧版本直到 API 7 如何使用 添加 ActionBar getSu
为什么这看起来很难完成?我有一种情况,我想动态更改我的 Activity 的操作栏。 android.support.v7.app.ActionBar ab = getSupportActionBar
我有两个支持 fragment 位于 AppCompatActivity 中。按照设计,它们每个都有独特的工具栏和选项菜单。 AppCompatActivity 的布局中没有工具栏,因为它们包含在每个
以下示例 Android-Support/Fragments对于 MvvmCross 并尝试重构我自己的应用程序以将 AppBar 和 Toolbar 资源定义移动到 fragment 。我在 fra
我将 View 与我的 Activity 分离,并且我有一个单独的类用于所有与 UI 相关的操作。我想在那里实现的一项操作是为 Action Bar 扩充菜单。我尝试做这些事情,但都不起作用。 fun
我无法在工具栏上显示后退按钮。我有一个主要 Activity 仪表板 Activity 和许多 fragment 。如果后台堆栈中有 fragment ,我想在工具栏上显示后退按钮。我如何在这里实现它
我尝试按照 here 所述设置带有 actionView 的 MenuItem . 在我的例子中,ActionView 小部件是一个 SeekBar . 问题是,当点击图标时显示 ActionView
我想在我的 Android 应用程序中使用 Material Design 组件。该应用程序已经使用 androidx 向后兼容以前的 Android 版本,并使用 SDK 28 进行编译。 我的应用
当我的应用程序使用 Support-v7 中的 SupportActionBar 进入 ACtionMode 时,Samsung Galaxy S4 显示出非常奇怪的行为。 有人知道如何解决这个问题吗
在我的 MainActivity.kt 文件中,我可以访问 supportActionBar.title 并设置标题。 在 TitleScreenFragment.kt 中,我无法访问: activi
我是一名优秀的程序员,十分优秀!