【问题标题】:android sherlock actionbar menu selected item of menu with underline, color changeandroid sherlock actionbar menu 带有下划线、颜色变化的菜单项
【发布时间】:2012-12-16 21:41:58
【问题描述】:

我正在使用 ActionBarSherlock,我有如图所示的 ActionBar:

我想改变蓝色,例如绿色,我希望选中的菜单项带有下划线(如图所示)。

我的 main_menu.xml:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
    android:id="@+id/item0"
    android:showAsAction="always"
    android:title="@string/menu_item0">
</item>
<item
    android:id="@+id/item1"
    android:showAsAction="always"
    android:title="@string/menu_item1">
</item>
<item
    android:id="@+id/item2"
    android:showAsAction="always"
    android:title="@string/menu_item2">
</item>
<item
    android:id="@+id/action_overflow"
    android:icon="@drawable/ic_action_overflow"
    android:showAsAction="always">
    <menu>
        <item android:id="@+id/contact" android:title="@string/submenu_0"/>
        <item android:id="@+id/info" android:title="@string/submenu_1"/>
        <item android:id="@+id/exit" android:title="@string/submenu_2"/>
    </menu>
</item>
</menu>

我该怎么做?在哪个文件中?

【问题讨论】:

  • 这回答了你的第一个问题:Actionbarsherlock - change actionbar line colour
  • @Sam:这个答案与不同的东西有关。在这种情况下没有任何帮助。
  • 您可能会在Change Action Bar onPressed color 中找到答案。虽然还有其他方法可以得到理想的结果。
  • @Tomik 嗨 Tomik,我刚开始自定义我的 ActionBar。您在Change Action Bar onPressed color 中写过,drawable/my_background.xml -> my_background.xml 我应该放在我的项目中吗?我只有:drawable-hdpi/ldpi/mdpi/xdpi,我应该创建新文件夹:drawable 并在那里设置 my_background.xml?
  • 是的,您通常会创建 drawable 放置可绘制对象的 xml 的目录(例如选择器、形状可绘制对象......)。这些 xml 可绘制对象与密度无关。

标签: android menu


【解决方案1】:

不确定您是否仍然需要帮助,但要更改操作栏 sherlock (abs) 中操作栏上的下划线,您只需将操作栏的背景替换为具有可拉伸顶部的 9 补丁可绘制对象seciton 和底部的颜色(如果您在 abs 示例代码中搜索“ad_tab_unselected_holo.png”,您可以使用它并更改图像中的颜色)。

然后您需要添加此 png 并将以下内容添加到您的 style.xml(请注意,我们正在更改 android:background 和 background 以实现向后兼容性)。

<style name="CustomTheme" parent="Theme.Sherlock">    
    <item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
</style>

<style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.Light.ActionBar">
    <item name="android:background">@drawable/ad_tab_unselected_holo</item>
    <item name="background">@drawable/ad_tab_unselected_holo</item>
</style>

然后将清单中的这种样式应用到您的活动中,如下所示;

<activity
   android:label="@string/an_activity"
   android:name="com.sample.TestActivity"            
   android:theme="@style/CustomTheme"/>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多