android sherlockActionBar样式操作文本

时间:2012-10-04 14:26:55

标签: android android-layout android-actionbar actionbarsherlock

如果我使用sherlockActionBar和此代码

menu.add(Menu.NONE, R.string.abc, Menu.NONE, R.string.abc)
.setIcon(R.drawable.ic_action_red_plus)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);

它会在大写粗的右侧显示右侧带有文字的图标。现在,设置协助android图标指南,我该如何更改该文本的颜色/形状? 这是我尝试过但它没有效果:

<style name="MyTheme" parent="@style/Theme.Sherlock.Light">
    <item name="android:textSize">20dp</item> 
</style>

 <style name="MyTheme.Styled" parent="Theme.Sherlock.Light.DarkActionBar">
    <item name="actionBarStyle">@style/MyTheme.Styled.ActionBar</item>
    <item name="android:actionBarStyle">@style/MyTheme.Styled.ActionBar</item>
</style>

<style name="MyTheme.Styled.ActionBar" parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
    <item name="background">@drawable/pdf2</item>
    <item name="android:background">@drawable/logo</item>
</style>

请注意,我不是在询问如何设置标签文本的样式(在网站上有答案),而是在操作栏上显示的操作,而不是下拉菜单中显示的操作。

由于

1 个答案:

答案 0 :(得分:1)

颜色改变了:

<style name="MyTheme" parent="Theme.Sherlock.Light">
    <item name="android:actionMenuTextColor">@color/White</item>
    <item name="actionMenuTextColor">@color/White</item>
</style>

根据ABS库中的XML布局,您可以使用

Activity.findViewById(R.id.abs__textButton) 

这应该返回Android按钮的扩展版本,它可以有自定义字体。这可能不是一个好主意,因为我认为它不适用于使用本机ActionBar的设备。你可以试试看。

此外,您不应该使用R.string.something作为ID。您应该在XML中创建一个id并使用R.id.something引用它,或者只在您的类中定义一个int。

编辑: 我做了一些测试,如果你在ICS设备上做Activity.findViewById(menuItemId),你会得到一个带有ImageButton和Button的ViewGroup。我不能给你他们的id,但你可以使用getChildAt来获取Button子项并将字体应用于它。