1

如果我使用sherlockActionBar与此代码安卓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

颜色改变:

<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子元素并将字体应用到它。