设置操作栏项目文本颜色?

2024-01-23

我正在尝试使用自定义设置我的操作栏项目的文本颜色style,但没有任何效果。

我尝试过设置:

<item name="android:actionMenuTextColor">@style/AppTheme.ActionBar.Text</item>

in both <style name="ActionBar"没有影响的地方,以及<style name="AppTheme"。如果我执行后者,我的应用程序将崩溃并显示:

07-21 13:12:58.519: E/AndroidRuntime(24690): FATAL EXCEPTION: main
07-21 13:12:58.519: E/AndroidRuntime(24690): android.view.InflateException: Binary XML file line #17: Error inflating class com.android.internal.view.menu.ActionMenuItemView
07-21 13:12:58.519: E/AndroidRuntime(24690):    at android.view.LayoutInflater.createView(LayoutInflater.java:619)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:693)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at android.view.LayoutInflater.inflate(LayoutInflater.java:467)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at com.android.internal.view.menu.BaseMenuPresenter.createItemView(BaseMenuPresenter.java:157)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at com.android.internal.view.menu.BaseMenuPresenter.getItemView(BaseMenuPresenter.java:176)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at com.android.internal.view.menu.ActionMenuPresenter.getItemView(ActionMenuPresenter.java:306)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at com.android.internal.view.menu.ActionMenuPresenter.flagActionItems(ActionMenuPresenter.java:593)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at com.android.internal.view.menu.MenuBuilder.flagActionItems(MenuBuilder.java:1048)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at com.android.internal.view.menu.BaseMenuPresenter.updateMenuView(BaseMenuPresenter.java:91)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at com.android.internal.view.menu.ActionMenuPresenter.updateMenuView(ActionMenuPresenter.java:334)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at com.android.internal.view.menu.MenuBuilder.dispatchPresenterUpdate(MenuBuilder.java:244)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at com.android.internal.view.menu.MenuBuilder.onItemsChanged(MenuBuilder.java:946)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at com.android.internal.view.menu.MenuBuilder.startDispatchingItemsChanged(MenuBuilder.java:969)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:507)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at     com.android.internal.policy.impl.PhoneWindow.doInvalidatePanelMenu(PhoneWindow.java:851)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at com.android.internal.policy.impl.PhoneWindow$1.run(PhoneWindow.java:258)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at android.view.Choreographer.doCallbacks(Choreographer.java:562)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at android.view.Choreographer.doFrame(Choreographer.java:531)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at android.os.Handler.handleCallback(Handler.java:725)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at android.os.Handler.dispatchMessage(Handler.java:92)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at android.os.Looper.loop(Looper.java:137)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at android.app.ActivityThread.main(ActivityThread.java:5328)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at java.lang.reflect.Method.invokeNative(Native Method)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at java.lang.reflect.Method.invoke(Method.java:511)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at dalvik.system.NativeStart.main(Native Method)
07-21 13:12:58.519: E/AndroidRuntime(24690): Caused by: java.lang.reflect.InvocationTargetException
07-21 13:12:58.519: E/AndroidRuntime(24690):    at java.lang.reflect.Constructor.constructNative(Native Method)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at android.view.LayoutInflater.createView(LayoutInflater.java:593)
07-21 13:12:58.519: E/AndroidRuntime(24690):    ... 29 more
07-21 13:12:58.519: E/AndroidRuntime(24690): Caused by: android.content.res.Resources$NotFoundException: Resource is not a ColorStateList (color or path): TypedValue{t=0x1/d=0x7f0c008f a=3 r=0x7f0c008f}
07-21 13:12:58.519: E/AndroidRuntime(24690):    at android.content.res.Resources.loadColorStateList(Resources.java:2963)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at android.content.res.TypedArray.getColorStateList(TypedArray.java:343)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at android.widget.TextView.<init>(TextView.java:851)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at com.android.internal.view.menu.ActionMenuItemView.<init>(ActionMenuItemView.java:116)
07-21 13:12:58.519: E/AndroidRuntime(24690):    at com.android.internal.view.menu.ActionMenuItemView.<init>(ActionMenuItemView.java:112)

我也尝试过使用android:itemTextAppearance这也没有效果。

这是我的styles.xml:

<resources xmlns:android="http://schemas.android.com/apk/res/android">

<!-- Base application theme, dependent on API level. This theme is replaced
    by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
   <!-- Theme customizations available in newer API levels can go in
        res/values-vXX/styles.xml, while customizations related to
        backward-compatibility can go here. -->
</style>

<!-- Application theme. -->

<style name="AppTheme" parent="AppBaseTheme">

    <item name="android:actionBarStyle">@style/ActionBar</item>
    <item name="android:actionBarTabTextStyle">@style/ActionBarTabText</item>

    <item name="android:itemTextAppearance">@style/TextAppearance</item>

    <item name="actionBarStyle">@style/ActionBar</item>
    <item name="actionBarTabTextStyle">@style/ActionBarTabText</item>
</style>

<!-- Action Bar -->

<style name="ActionBar" parent="@style/Widget.AppCompat.Light.ActionBar">

    <item name="android:titleTextStyle">@style/AppTheme.ActionBar.TitleTextStyle</item>
    <item name="android:actionMenuTextColor">@style/AppTheme.ActionBar.Text</item>
    <item name="android:background">@color/Black</item>

    <item name="titleTextStyle">@style/AppTheme.ActionBar.TitleTextStyle</item>
    <item name="actionMenuTextColor">@style/AppTheme.ActionBar.Text</item>

</style>

<style name="AppTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance">
    <item name="android:textColor">@color/White</item>
</style>


<style name="AppTheme.ActionBar.Text" parent="@android:style/TextAppearance">
    <item name="android:textColor">@color/White</item>
</style>


<!-- Action Bar Tabs -->
<style name="AppTheme.Tabtheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
    <item name="android:actionBarTabTextStyle">@style/ActionBarTabText</item>
    <item name="actionBarTabTextStyle">@style/ActionBarTabText</item>
</style>

<style name="ActionBarTabText" parent="@style/Widget.AppCompat.Base.ActionBar.TabText">
    <item name="android:textColor">@color/White</item>
</style>

<!-- Text color for Action bar items -->

<style name="TextAppearance">
    <item name="android:textColor">@android:color/white</item>
</style>

</resources>

您可以通过为 Android 操作栏设置自定义视图来轻松完成..请按照以下步骤操作

首先为 ActionBar 设置自定义视图,如下所示..

actionBar = getSupportActionBar();
actionBar.setCustomView(R.layout.action_provider);

现在将您的文本视图放入布局“action_provider”中。

现在像这样获取你的textview id

pack_tv = (TextView) actionBar.getCustomView().findViewById(R.id.action_bar_tv);

现在您可以轻松地做您想做的事情..在您的情况下设置文本视图颜色..像这样

pack_tv.setTextColor("your_text_color");

你可以做任何事情..请检查下面的代码..

actionBar = getSupportActionBar();
        actionBar.setCustomView(R.layout.action_provider);
        iv_d = (ImageView) actionBar.getCustomView().findViewById(R.id.action_menu);
        pack_tv = (TextView) actionBar.getCustomView().findViewById(R.id.action_bar_tv);
        spinner_value = (TextView) actionBar.getCustomView().findViewById(R.id.action_city);
        city_spinner = (LinearLayout) actionBar.getCustomView().findViewById(R.id.city_spinner_layout);
        pack_spinner = (LinearLayout) actionBar.getCustomView().findViewById(R.id.pack_spinner_layout);
        dashiv1 = (ImageView) actionBar.getCustomView().findViewById(R.id.dash_iv1);
        dashiv2 = (ImageView) actionBar.getCustomView().findViewById(R.id.dash_iv2);

        dashiv1.setVisibility(View.GONE);
        dashiv2.setVisibility(View.GONE);

        iv_d.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

            }
        });

就是这样...你可以走了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置操作栏项目文本颜色? 的相关文章

随机推荐

  • PHP 计数函数与关联数组

    有人可以向我解释一下 count 函数如何处理如下所示的数组吗 我的想法是下面的代码输出 4 因为那里有 4 个元素 a array 1 gt A 1 gt B C 2 gt D echo count a count完全按照您的预期工作 例
  • Android:在 Android Place Api 中提供自动自动建议吗?

    我对 Android Google 地图非常陌生 我编写了以下程序 用于在 Android 中显示自动建议 当我在 自动完成 文本框中键入文本时 它将输入到 url 但输出未显示在程序中 请看一次并让我知道我在哪里犯了错误 ExampleA
  • Matlab非线性灰盒系统辨识

    我正在尝试进行非线性灰盒模型识别 并且我正在使用以下代码 我对输入向量 输出向量和时间戳中的输入进行了测量 input output data 2 3 output output data 4 5 time output data 1 da
  • Clojure 中是否有替代 nil 双关语的惯用方法?

    我目前正在阅读一些 Clojure 代码 其中有一堆未初始化的值 nil用于传递记录中的数值 现在有很多 Clo jure 库将其视为惯用语 https stackoverflow com questions 6045404 why clo
  • SQL Server 2008 Express 无法用于合并复制?

    根据 Microsoft 的说法 SQL Server 2008 Express 应该能够作为拉取订阅者参与合并复制 至少对于 RMO 对象来说是这样 http msdn microsoft com en us library ms1478
  • 错误 800A01A8 需要对象

    我有一个 VBScript 代码 它给我一个错误 提示 需要对象 错误 800A01A8 位于第 11 行和第 3 个字符 这是代码 Dim strWebsite strWebsite 78 72 111 138 80 If PingSit
  • EF CTP4:“创建模型时无法使用上下文。”

    我有两个实体 学生和班级 他们之间有多对多的关系 class Student ICollection
  • 通过中断中间单词强制 Jasper HTML 报告换行

    我在 Jaspersoft Studio 中创建了一个 Jasper 报告 用于生成 HTML 报告 它的宽度为 550px 其中一个数据字段包含 URL 其中一些可能非常长 例如 我遇到的问题是生成的报告不会破坏 URL 中间单词 即查询
  • “dyn”在类型中意味着什么?

    我最近看到代码使用dyn关键词 fn foo arg dyn Display fn bar gt Box
  • Python 中使用哪种正则表达式风格?

    我想知道 Python 使用哪种 RegEx 风格 它是 PCRE Perl 兼容的还是 ICU 或其他什么 是兼容的enoughw Perl 这意味着大多数 Perl 表达式无需修改即可工作 它的目标是与 Perl 兼容 但当然 也有一些
  • 内联 Bootstrap 表单布局,标签位于输入上方

    我想使用 Bootstrap 3 创建具有以下布局的表单 我在这里尝试了一个jsfiddle http jsfiddle net quyB6 http jsfiddle net quyB6 我尝试过的标记
  • 如何更改工作表选项卡的颜色

    我有一个 python 脚本 它从外部资源中提取数据并将数据添加到 Google 表格中 在大多数情况下 我一切正常 除了我想更改选项卡的颜色以表示脚本状态 整个过程首先复制工作表中的现有选项卡 默认情况下 模板选项卡具有黑色突出显示 然后
  • System.out.printLn() 错误? [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我对 Java 编程非常陌生 而且还不擅长 我只是想编译这个小程序 这样我以后就可以用它来解决继承和多态性问题 我正在使用 JGr
  • JINI 还活跃吗?

    与我交谈过的每个知道它的人都声称这是自切片面包以来最伟大的事情 为什么失败了 或者 如果它没有失败 现在谁在使用它 查看千兆空间 http www gigaspaces com 这是一个相当成功的 Jini Javaspaces 实现 我认
  • 在 Spark 数据框中插入记录

    我在 pyspark 中有一个数据框 这是它的样子 timestamp price 670098928 50 670098930 53 670098934 55 我想填补时间戳与之前状态之间的空白 这样我就可以获得一个完美的集合来计算时间加
  • 设计软电子邮件确认

    我有一个使用 Devise 和可确认模块的 Rails 3 应用程序 然而 阻止新注册用户在确认其电子邮件之前访问该网站会导致保留问题 相反 我们希望立即授予用户访问权限and仍然向他们发送确认电子邮件 然后 我们将运行后台任务来锁定在固定
  • C# Graphics.RotateTransform 适用于本地主机,但不适用于远程服务器

    它可以在我的机器上运行 我在 ASP NET Web 主机上使用 C 图形方法时遇到问题 我将两个地图图钉组合成一个图像 我加载一个空的图钉图像并在其顶部写一个数字 然后我将其中两个组合起来 其中一个旋转 15 度 另一个旋转 15 度 通
  • 在 Perl 中,散列的键和值是否具有相同的“顺序”?

    我知道 Perl 中的哈希值没有排序 我担心的是我是否可以依赖索引关系中出现的键和值 假设我有这个哈希值 my h a gt 1 b gt 2 c gt 3 d gt 4 If I do keys h 我可能会得到 b a d c 我能保证
  • KERAS model.summary 中的“None”是什么意思?

    输出形状中的 None 100 是什么意思 这是 无 样本数还是隐藏维度 None意味着这个维度是可变的 keras 模型中的第一个维度始终是批量大小 您不需要固定的批量大小 除非在非常特殊的情况下 例如 当使用stateful TrueL
  • 设置操作栏项目文本颜色?

    我正在尝试使用自定义设置我的操作栏项目的文本颜色style 但没有任何效果 我尝试过设置