Android 更改工具栏中的标题颜色?
我有一个我使用的工具栏,并设置标题:Android 更改工具栏中的标题颜色?,android,android-theme,android-toolbar,Android,Android Theme,Android Toolbar,我有一个我使用的工具栏,并设置标题: ((ActionBarActivity)getActivity()).getSupportActionBar().setTitle("Home"); 有没有办法把颜色从黑色改成白色 我试着创建自己的主题,并像这样在xml中设置它,但没有成功: <resources> <!-- Base application theme. --> <style name="AppTheme2" parent="Theme.A
((ActionBarActivity)getActivity()).getSupportActionBar().setTitle("Home");
有没有办法把颜色从黑色改成白色
我试着创建自己的主题,并像这样在xml中设置它,但没有成功:
<resources>
<!-- Base application theme. -->
<style name="AppTheme2" parent="Theme.AppCompat">
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">@color/primary_dark</item>
<item name="colorAccent">@color/accent</item>
<item name="android:textColorPrimary">@color/primary_text</item>
<item name="android:textColorSecondary">@color/secondary_text</item>
</style>
<style name="Widget.MyApp.ActionBar" parent="Widget.AppCompat.ActionBar">
<item name="android:background">@color/primary</item>
<item name="theme">@style/ThemeOverlay.MyApp.ActionBar</item>
<item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
</style>
<style name="ThemeOverlay.MyApp.ActionBar" parent="ThemeOverlay.AppCompat.ActionBar">
<item name="android:textColorPrimary">#FFFFFF</item>
</style>
</resources>
真的
假的
@颜色/原色
@颜色/原色/深色
@颜色/口音
@颜色/主文本
@颜色/辅助文本
@颜色/原色
@style/ThemeOverlay.MyApp.ActionBar
@style/ThemeOverlay.AppCompat.Light
#FFFFFF
XML:
以编程方式:
toolbar.setTitleTextColor(0xFFFFFFFF);
val toolbar = findViewById<Toolbar>(R.id.toolbar)
toolbar.setTitleTextColor(Color.WHITE)
根据AppCompat的创建者和上的帖子,可以通过将android:theme=“@style/ThemeOverlay.AppCompat.dark.ActionBar”
添加到工具栏的XML:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:minHeight="?attr/actionBarSize"
android:background="@color/primary"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/statsSpin"
android:spinnerMode="dropdown"/>
</android.support.v7.widget.Toolbar>
这会将文本颜色和默认颜色更改为许多属性(例如微调器,以根据深色背景的需要点亮文本。在应用程序基础主题中创建新样式
<style name="custom_toolbar" parent="@style/Widget.AppCompat.Toolbar">
<item name="titleTextColor">#replace with color</item>
</style>
#替换为颜色
并使用工具栏的样式
<item name="toolbarStyle">@style/custom_toolbar</item>
@style/custom\u工具栏
如果只想更改标题文本的颜色,
试试这个
getSupportActionBar().setTitle(Html.fromHtml(“+titleText+”);
它的工作原理是…!!扩展超光速粒子通量,用十六进制设置颜色
toolbar.setTitleTextColor(Color.parseColor("#519c3f"));
setTitleTextColor(getResources().getColor(R.color.black))
(toolbar是您在acitivyt类中为工具栏指定的名称)
(在颜色值xml中,设置所需的颜色,并将其引用到所选的颜色名称,如图所示,我保留了一些主颜色和普通名称)
我自己花了一段时间才弄明白这一点,但这是我让它工作的唯一方法,主题编辑器应该允许这样做,但事实就是如此。在xml中:
应用程序:titleTextColor=“@color/White”作为
我知道在希望之上有很多答案,它将帮助那些不理解以上答案的人
Android有一个名为Toolbar的视图。该视图的标题始终采用color.xml资源中的默认颜色,该资源的项目名称为“重音”。您可以通过两种方式更改工具栏颜色
通过我建议您这样做的xml,您可以在下面看到示例
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:titleTextColor="@color/White" />Here you can change it.Remember APP attribute not ANDROID
使用此代码
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
app:titleTextColor="@color/colorAccent"
app:theme="@style/ToolbarColoredBackArrow"
app:subtitleTextColor="@color/colorAccent"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
它可以像上面的答案一样通过编程进行更改。但为了降低代码复杂性,应该通过style.xml进行更改
首先,在res/values文件夹下创建attrs.xml
然后添加两个对attrs.xml文件夹的引用,如下所示
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="?attr/toolbar_theme"
app:titleTextAppearance="?attr/toolbar_theme_title"
android:elevation="4dp"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
attrs.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<attr name="toolbar_theme" format="reference" />
<attr name="toolbar_theme_title" format="reference" />
</resources>
<application
android:theme="@style/CustomTheme">
androidmanifest.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<attr name="toolbar_theme" format="reference" />
<attr name="toolbar_theme_title" format="reference" />
</resources>
<application
android:theme="@style/CustomTheme">
或
您可以通过扩展Widget.AppCompat.Toolbar并设置titleTextAppearance和subtitleTextAppearance属性来定义自定义工具栏样式。这样,您可以更改工具栏标题和副标题的颜色和文本大小以供参考
@颜色/原色
@颜色/原色暗
@样式/我的工具栏样式
@style/MyTitleText外观
@style/mysubtitletext外观
25dp
#ff3d00
20dp
#1976d2
您可以使用actionBarTheme属性更改操作栏的主题,如下所示。尽管它已添加到API level 21中,但它似乎与较旧的API兼容
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="actionBarTheme">@style/AppTheme.AppBarOverlay</item>
</style>
@style/AppTheme.AppBarOverlay
在Kotlin中,使用Sandip的答案:
with(getSupportActionBar()) {
val titleText: String = title.toString()
setTitle(Html.fromHtml("<font color='#746E66'>" + titleText + "</font>"))
}
with(getSupportActionBar()){
val titleText:String=title.toString()
setTitle(Html.fromHtml(“+titleText+”))
}
您可以使用以下代码以编程方式更改它
toolbar.setTitleTextColor(android.graphics.Color.WHITE);
在android.support.v7.widget.Toolbar内,添加以下行:
local:titleTextColor="@color/the_color_you_want"
我找到了一个相当简单的解决办法
可以通过以下方式(通过XML或编程)完成
首先(XML解决方案):
第二(以编程方式):
val-toolbar=findviewbyd(R.id.toolbar)
toolbar.setTitleTextColor(Color.WHITE)
第二个解决方案需要min SDK版本超过21,请注意。这里我使用下面的代码修复了它,它适用于每个API级别:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/color_primary</item>
<item name="colorPrimaryDark">@color/color_primary_dark</item>
<item name="colorAccent">@color/color_accent</item>
<item name="toolbarStyle">@style/CustomToolBarStyle</item>
</style>
<style name="CustomToolBarStyle" parent="@style/Widget.AppCompat.Toolbar">
<item name="titleTextColor">@color/title_text_color</item>
</style>
@彩色/彩色原色
@颜色/原色\u深色
@颜色/颜色口音
@样式/自定义工具栏样式
@颜色/标题\u文本\u颜色
你的意思是通过编程或主题?在@RaviKoradiya重复回答的问题是,对于旧版本的Android来说,答案已经过时了,FWIW。这不是答案,而是信息。你不需要编写((ActionBarActivity)getActivity()).getSupportActionBar().setTitle(“Home”);来更改工具栏标题。只需编写setTitle即可(getString(R.string.title));这就是它将支持上述api 23,如果您使用AppCompat库,则不支持。我使用的工具是:toolbar.setTitleTextColor(android.graphics.Color.WHITE);
。谢谢!我们能得到一个具有暗色调意识的现代答案吗?注意“toolbarStyle”仅属性api 21+为什么app:theme
而不是android:theme
(两者都有效)?在此之前,您必须使用app:theme
-如果您使用的版本晚于此版本(此时您应该使用此版本),那么是的,你应该在任何地方都使用android:theme。我已经更新了我的答案,以反映当今的最佳实践。
with(getSupportActionBar()) {
val titleText: String = title.toString()
setTitle(Html.fromHtml("<font color='#746E66'>" + titleText + "</font>"))
}
toolbar.setTitleTextColor(android.graphics.Color.WHITE);
local:titleTextColor="@color/the_color_you_want"
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/Theme.AppCompat.NoActionBar"
app:titleTextColor="@color/white" />
val toolbar = findViewById<Toolbar>(R.id.toolbar)
toolbar.setTitleTextColor(Color.WHITE)
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/color_primary</item>
<item name="colorPrimaryDark">@color/color_primary_dark</item>
<item name="colorAccent">@color/color_accent</item>
<item name="toolbarStyle">@style/CustomToolBarStyle</item>
</style>
<style name="CustomToolBarStyle" parent="@style/Widget.AppCompat.Toolbar">
<item name="titleTextColor">@color/title_text_color</item>
</style>