gpt4 book ai didi

Android ActionBar MenuItem 小写

转载 作者:IT王子 更新时间:2023-10-29 00:00:56 25 4
gpt4 key购买 nike

我想将 ActionBar 中的 MenuItem 标题设为小写。

我的菜单.xml

  <item android:id="@+id/register"
android:title="Register"
android:showAsAction="ifRoom|withText"/>

<item android:id="@+id/unregister"
android:title="Unregister"
android:showAsAction="ifRoom|withText"/>

在 ActionBar 上它看到“REGISTER”和“UNREGISTER”,但我希望它看到“Register”和“Unregister”。

是否可以在 MenuItem 中将第一个字母设置为大写,将下一个字母设置为小写?我该怎么做?

最佳答案

原生ActionBar实现的解决方案:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyTheme" parent="android:Theme.Holo">
<item name="android:actionMenuTextAppearance">@style/MyMenuTextAppearance</item>
</style>
<style name="MyMenuTextAppearance" parent="android:TextAppearance.Holo.Widget.ActionBar.Menu">
<item name="android:textAllCaps">false</item>
</style>
</resources>

如果您使用的是 ActionBarSherlock,有两种不同的方法:

1) 创建 bool 资源abs__config_actionMenuItemAllCaps 并将其设置为false:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="abs__config_actionMenuItemAllCaps">false</bool>
</resources>

2) 或者使用重写的 actionMenuTextAppearance 创建主题并在 AndroidManifest.xml 中使用它:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyTheme" parent="Theme.Sherlock">
<item name="actionMenuTextAppearance">@style/MyMenuTextAppearance</item>
<item name="android:actionMenuTextAppearance">@style/MyMenuTextAppearance</item>
</style>
<style name="MyMenuTextAppearance" parent="TextAppearance.Sherlock.Widget.ActionBar.Menu">
<item name="android:textAllCaps">false</item>
</style>
</resources>

请注意:ActionBarSherlock 中存在一个错误,它强制 MenuItem 在 ICS 之前为大写 (https://github.com/JakeWharton/ActionBarSherlock/issues/969)。我已经提交了补丁,但目前没有合并。现在你可以使用我的 fork :https://github.com/alexander-mironov/ActionBarSherlock/tree/dev ,当我的代码合并到主存储库中时,我会更新这个答案。

更新:我的修复程序已合并到主 ActionBarSherlock 存储库中。

关于Android ActionBar MenuItem 小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17044790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com