当前位置: 首页 > 知识库问答 >
问题:

Html.fromHtml设置动作栏标题颜色时不建议使用[重复]

孙夕
2023-03-14

将目标SDK版本更新到24.0.0后,fromHtml将被删除,并返回弃用警告。在设置操作栏的标题时,需要更改什么才能解决此错误?

最低API为17

actionBar.setTitle(Html.fromHtml("<font color='#FFFFFF'>" + getResources().getString(R.string.welcome) + "</font>"));

不推荐使用“fromHtml(java.lang.String)”

共有2个答案

贾骏喆
2023-03-14

您应该使用其他方法。

如果使用工具栏:

Toolbar toolbar = (Toolbar) findViewById(R.id.tool_bar);
toolbar.setTitle(R.string.app_name);
toolbar.setTitleTextColor(getResources().getColor(R.color.someColor));
setSupportActionBar(toolbar);

一种风格:

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <style name="MyTheme" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item>
  </style>

  <style name="MyTheme.ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
  </style>

  <style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
    <item name="android:textColor">@color/red</item>
  </style>
</resources>

在这里找到更多方法:ActionBar文本颜色

游炳
2023-03-14

如果minSdkVersion为24或更高版本,请使用fromHtml()的版本,该版本将一些标志作为参数。好的,FROM_HTML_MODE_LEGACY将是用于与旧的无标志fromHtml()兼容的标志值。

如果你的minSdkVersion低于24,你的选择是:

>

  • 请始终使用fromHtml(),也可以使用快速修复(Alt-Enter)来抑制Lint警告

    使用fromHtml()的两个版本:如果您的应用程序在API Level 24设备上运行,则使用标志,或者在旧设备上不使用标志

    后者看起来像:

    if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.N) {
      actionBar.setTitle(Html.fromHtml(..., Html.FROM_HTML_MODE_LEGACY));
    }
    else {
      actionBar.setTitle(Html.fromHtml(...));
    }
    

    (其中,是要转换的HTML)

    不过,请注意,如果您只是想更改整个动作条标题的颜色,请使用Sandro Machado的解决方案<代码>Html。基于fromHtml()和类似的span的解决方案适用于在单个文本视图(或使用文本视图,如操作栏)中不同文本段需要不同颜色的情况。

  •  类似资料:
    • 标题文字颜色的动作是不改变的,如何改变标题文字颜色的动作栏?这是我的风格。xml 风格xml

    • Since 8.0 setTitleColor 可通过接口调用,改变TitleBar的颜色 使用方法 AlipayJSBridge.call("setTitleColor", { color: 16775138, reset: false //(可选,默认为false) 是否重置title颜色为默认颜色。 }); 代码演示 <div style="padding-top:80px;">

    • 我想将搜索图标的颜色设置为纯白色。此刻,搜索图标的颜色是灰色的,并且与“演示搜索”的白色文本明显不同。 编辑: 根据一些建议,我使用纯白色创建了一个新图标(确切地说,rgb=255,255,255)并使用它来代替Android:ic_menu_search。Android会用灰色调着色(通过截图上的颜色选择工具验证),即使原来的图标是纯白色的。

    • 本文向大家介绍Android自定义状态栏颜色与应用标题栏颜色一致,包括了Android自定义状态栏颜色与应用标题栏颜色一致的使用技巧和注意事项,需要的朋友参考一下 每次看IOS上的应用,应用中状态栏的颜色总能与应用标题栏颜色保持一致,用户体验很不错,对于这种效果,像我这种好奇心强的人就会去看看那安卓是否可以呢?若是在安卓4.4之前,答案是否定的,但在4.4之后,谷歌允许开发者自定义状态栏背景颜色啦

    • 问题内容: 我有一个带有颜色条的matplotlib图。我想将颜色条定位为水平,并位于绘图下方。 我几乎可以通过以下方式做到这一点: 但是,颜色栏仍与图略有重叠(以及x轴的标签)。我想进一步将颜色栏下移,但是我不知道该怎么做。 问题答案: 更好地控制颜色栏位置的最佳方法是为其提供自己的轴。像这样: add_axes的方括号中的数字表示[left,bottom,width,height],其中坐标只