如何更改Android溢出菜单图标

如何更改Android溢出菜单图标,android,android-3.0-honeycomb,Android,Android 3.0 Honeycomb,如何更改操作栏最右侧的溢出菜单图标,如下图所示?我的全息主题在默认情况下指定了这个3行黑色堆栈图标,我还需要其他东西。我似乎找不到解决这个问题的办法。我已经看过了上的文档,但似乎没有多大帮助 谢谢 我注意到,如果应用程序的主题为Holo,它会变为白色,但当主题为Holo.Light时,它会变为黑色 但是,将动作栏的样式更改为继承自Holo,将应用程序的其余部分更改为继承自Holo.Light并不能解决问题,但它应该指向您应该修改的样式的方向 我尝试的是: <style name="AppT

如何更改操作栏最右侧的溢出菜单图标,如下图所示?我的全息主题在默认情况下指定了这个3行黑色堆栈图标,我还需要其他东西。我似乎找不到解决这个问题的办法。我已经看过了上的文档,但似乎没有多大帮助

谢谢


我注意到,如果应用程序的主题为Holo,它会变为白色,但当主题为Holo.Light时,它会变为黑色

但是,将动作栏的样式更改为继承自Holo,将应用程序的其余部分更改为继承自Holo.Light并不能解决问题,但它应该指向您应该修改的样式的方向

我尝试的是:

<style name="AppThemeLight" parent="android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/ActionBar</item>
    <item name="android:windowContentOverlay">@drawable/actionbar_shadow</item>
</style>    
<style name="ActionBar" parent="android:style/Widget.Holo.Light.ActionBar">
    <item name="android:background">@color/header_brown</item>
    <item name="android:titleTextStyle">@style/ActionBarTitle</item>
    <item name="android:icon">@drawable/header</item>       
</style>

@样式/操作栏
@可绘制/操作栏\u阴影
@颜色/页眉棕色
@风格/动作巴蒂尔
@可抽出式/收割台

我也有同样的问题,我认为这接近于一个解决方案

定义自定义样式:例如,让我们称之为
customoverflow

在这种风格中,您可以将android:src设置为您想要使用的图片。 现在创建一个带有父
主题.holo
的样式

在此样式中,您需要定义:

@style/customoverflow

我刚刚测试了这个功能,它可以正常工作。

您可以尝试以下内容:

<style name="MyTheme" parent="android:style/Theme.Holo.Light">
     <item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
</style>

<style name="MyActionButtonOverflow" parent="android:style/Widget.Holo.ActionButton.Overflow">
    <item name="android:src">@drawable/my_action_bTutton_overflow</item>
</style>

@样式/MyActionButtonOverflow
@可绘制/我的动作按钮溢出
在AndroidManifest.xml中

<application
    android:theme="@style/MyTheme" >
<application
    android:theme="@style/MyTheme" >
<application
    android:name="com.example.android.MainApp"
    android:theme="@style/AppTheme">
</application>
<application
    android:theme="@style/AppTheme" >

Shalafi的解决方案只需稍作改动即可工作!您需要指定theme.Holo作为主题的父级,但它的缺点是更改默认文本颜色(至少在我的样式中)

经修订的守则应为:

   <style name="AppThemeLight" parent="android:style/Theme.Holo">
    <item name="android:actionBarStyle">@style/ActionBar</item>
    <item name="android:windowContentOverlay">@drawable/actionbar_shadow</item>
</style>    
<style name="ActionBar" parent="android:style/Widget.Holo.Light.ActionBar">
    <item name="android:background">@color/header_brown</item>
    <item name="android:titleTextStyle">@style/ActionBarTitle</item>
    <item name="android:icon">@drawable/header</item>       
</style>

@样式/操作栏
@可绘制/操作栏\u阴影
@颜色/页眉棕色
@风格/动作巴蒂尔
@可抽出式/收割台

如果使用AppCompat,可以通过以下代码实现

res/values/themes.xml

<style name="MyTheme" parent="@style/Theme.AppCompat.Light">
     <item name="android:actionOverflowButtonStyle">@style/ActionButtonOverflow</item>

      <!-- Support library compatibility -->
     <item name="actionOverflowButtonStyle">@style/ActionButtonOverflow</item>

</style>

      <style name="ActionButtonOverflow" parent="@style/Widget.AppCompat.ActionButton.Overflow">
            <item name="android:src">@drawable/ic_launcher</item>
        </style>

@样式/操作按钮Noverflow
@样式/操作按钮Noverflow
@牵引式/集成电路发射器
在androidmanifest.xml中

<application
    android:theme="@style/MyTheme" >
<application
    android:theme="@style/MyTheme" >
<application
    android:name="com.example.android.MainApp"
    android:theme="@style/AppTheme">
</application>
<application
    android:theme="@style/AppTheme" >

重复问题,

以下是我的回答

  • 更改styles.xml中Actionbar的自定义溢出图标

     <resources>
        <!-- Base application theme. -->
        <style name=“MyTheme" parent="@android:style/Theme.Holo">
           <!-- Pointer to Overflow style DONT forget! -->
           <item name="android:actionOverflowButtonStyle">@style/MyOverFlow</item>
        </style>
    
        <!-- Styles -->
        <style name="MyOverFlow" parent="@android:style/Widget.Holo.ActionButton.Overflow">
            <item name="android:src">@drawable/ic_your_action_overflow</item>
        </style>
     </resources>
    
    
    
    基本上,新API级别中可用的主题定制可以进入
    res/values vXX/styles.xml
    ,而与向后兼容性相关的定制可以进入
    values/styles.xml


    Shalafi的解决方案需要一些补充:所以 将此代码添加到
    res/values vXX/styles.xml和
    res/values/styles.xml中,这将非常有效

    <style name="AppTheme" parent="android:style/Theme.Holo.Light">
     <item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
    </style>
    
    <style name="MyActionButtonOverflow"parent="android:style/Widget.Holo.ActionButton.Overflow">
    <item name="android:src">@drawable/your_overflow_icon</item>
    </style>
    
    
    @样式/MyActionButtonOverflow
    @可绘制/您的\u溢出\u图标
    
    还要将其添加到AndroidManifest.xml中

    <application
        android:theme="@style/MyTheme" >
    
    <application
        android:theme="@style/MyTheme" >
    
    <application
        android:name="com.example.android.MainApp"
        android:theme="@style/AppTheme">
    </application>
    
    <application
        android:theme="@style/AppTheme" >
    
    
    
    
    @颜色/颜色重音
    

    创建上述主题。使用您的颜色设置色调,并将此主题添加到工具栏

    <androidx.appcompat.widget.Toolbar
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:minHeight="?attr/actionBarSize"
            android:theme="@style/ToolBarTheme"/>
    
    
    
    请不要使用该图标。用户一次又一次地攻击不遵守基本平台约定的开发人员。除非您能积极证明,如果您不更改该图标,您的用户将拒绝您的应用程序,否则请不要更改该图标。尽管如此,我不知道在哪里可以更改图标。我想更改图标的唯一原因是将其改为白色而不是黑色。我的actionbar背景在那个区域非常暗,几乎不可能看到图标。我没有改变平台惯例或任何戏剧性的事情:)啊,对不起,我反应过度了。人们可能会认为,无论您在哪里控制栏的样式,您都可以更改该图标。我在SDK中没有看到该图标,因此我没有搜索字符串来尝试在styles.xml或kin.Googlers中找到它,请检查以下答案:它不够可自定义。假设您有一个带有深色溢出按钮的浅色背景。如果为actionmode(CAB)选择深色背景,则无法将溢出按钮切换为浅色按钮。如何在Appcompat中实现这一点?非常适合指出支持库兼容性的差异