Android 使ActionBar标题大写

Android 使ActionBar标题大写,android,android-actionbar,android-actionbar-compat,Android,Android Actionbar,Android Actionbar Compat,如何使ActionBar标题大写?一些答案建议将设置为true,但当我将其设置为actionBar样式或actionBar的标题样式时,这没有效果。它只在我使用AppTheme样式时才起作用,但这会使我的应用程序中的很多东西都使用我不想要的大写字母 我的风格: <style name="AppTheme" parent="AppBaseTheme"> <!-- snip snip --> <item name="android:actionBarSt

如何使ActionBar标题大写?一些答案建议将
设置为true
,但当我将其设置为actionBar样式或actionBar的
标题样式时,这没有效果。它只在我使用AppTheme样式时才起作用,但这会使我的应用程序中的很多东西都使用我不想要的大写字母

我的风格:

<style name="AppTheme" parent="AppBaseTheme">
    <!-- snip snip -->
    <item name="android:actionBarStyle">@style/NewActionBar</item>
</style>

<style name="NewActionBar" parent="@style/Widget.AppCompat.ActionBar">
    <item name="android:background">@color/text_pink</item> <!-- no effect -->
    <item name="android:titleTextStyle">@style/NewActionBarTitle</item>
    <item name="android:displayOptions">showHome|showTitle</item>
    <item name="android:textAllCaps">true</item> <!-- no effect -->
</style>

<style name="NewActionBarTitle">
    <item name="android:textSize">@dimen/tiny_text_size</item> <!-- no effect -->
    <item name="android:textAllCaps">true</item> <!-- no effect -->
</style>

@样式/新操作栏
@颜色/文本为粉红色
@风格/新动作巴蒂尔
showHome | showTitle
真的
@尺寸/微小的文字尺寸
真的
为什么
NewActionBar
NewActionBarTitle
样式无论我在其中添加了什么,似乎都没有效果?我的风格或动作条有什么问题吗


编辑:我刚刚完全删除了样式
NewActionBar
NewActionBarTitle
(以及
AppTheme
样式中对它们的引用),操作栏看起来完全相同。所以有些东西坏了。可能是什么?

您需要在操作栏标题的文本外观上设置
android:textAllCaps=“true”
,而不是在操作栏样式本身或基本活动主题上设置

<style name="AppTheme" parent="AppBaseTheme">
    ...
    <item name="actionBarStyle">@style/Widget.MyApp.ActionBar.Solid</item>
</style>

<style name="Widget.MyApp.ActionBar.Solid"
       parent="Widget.AppCompat.ActionBar.Solid">
    <item name="titleTextStyle">@style/TextAppearance.MyApp.Widget.ActionBar.Title</item>
</style>

<style name="TextAppearance.MyApp.Widget.ActionBar.Title"
       parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textAllCaps">true</item>
</style>

...
@style/Widget.MyApp.ActionBar.Solid
@style/TextAppearance.MyApp.Widget.ActionBar.Title
真的

您需要在操作栏标题的文本外观上设置
android:textAllCaps=“true”
,而不是在操作栏样式本身或基本活动主题上设置

<style name="AppTheme" parent="AppBaseTheme">
    ...
    <item name="actionBarStyle">@style/Widget.MyApp.ActionBar.Solid</item>
</style>

<style name="Widget.MyApp.ActionBar.Solid"
       parent="Widget.AppCompat.ActionBar.Solid">
    <item name="titleTextStyle">@style/TextAppearance.MyApp.Widget.ActionBar.Title</item>
</style>

<style name="TextAppearance.MyApp.Widget.ActionBar.Title"
       parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textAllCaps">true</item>
</style>

...
@style/Widget.MyApp.ActionBar.Solid
@style/TextAppearance.MyApp.Widget.ActionBar.Title
真的

很抱歉问这个愚蠢的问题,但为什么你从一开始就不将其设置为大写?因为那样启动器图标也会有大写文本(这与其他应用程序图标冲突),而且到目前为止还没有一致的解决方案(适用于所有设备)这允许主活动与启动器图标标题具有不同的标题。为什么不使用工具栏。。。你在actionbar上会有更多的自由…因为我不想花几个小时来学习工具栏并将其集成到我的应用程序中,因为它的唯一目的是显示活动标题并让用户返回到主要活动。我怀疑我是否会再做一个Android应用程序,所以学习工具栏并不是一个很好的时间投资,只是为了解决大写标题的问题。很抱歉问这个愚蠢的问题,但是为什么你从一开始就不把它设为大写?因为那样的话,启动器图标也会有大写文本(这与其他应用程序图标冲突),到目前为止还没有一致的解决方案(适用于所有设备)这允许主活动与启动器图标标题具有不同的标题。为什么不使用工具栏…您将在操作栏上有更多的自由…因为我不想花几个小时来学习工具栏并将其集成到我的应用程序中,因为它的唯一目的是显示活动标题并将用户返回到主活动d我怀疑我是否会再做一个Android应用程序,所以学习工具栏并不是一个很好的时间投资,只是为了解决大写标题的问题。没有效果。我在这两种样式中加入的任何东西都没有任何效果,actionbar看起来是一样的。我想知道是否有什么东西坏了。我甚至复制了你的代码,它看起来是一样的请注意我问题中代码中的
注释。您从何处扩展活动?可能是使用
工具栏样式
而不是
actionBarStyle
,在这种情况下,我可以使用适当的样式更新解决方案。没有效果。我在这两种样式中添加的任何内容都没有任何效果,活动onbar看起来是一样的。我想知道是否有什么东西坏了。我甚至复制了你的代码,它看起来和以前一样。注意我问题中代码中的
注释。你从什么活动开始扩展?它可能使用
工具栏样式而不是
actionBarStyle
,在这种情况下我可以升级使用适当的样式来创建解决方案。