Java Android,如何在状态更改时更改actionbars徽标按钮?

Java Android,如何在状态更改时更改actionbars徽标按钮?,java,android,android-actionbar,Java,Android,Android Actionbar,所以我想知道如何实现一个带有徽标按钮的操作栏,每个州有不同的图像(按下、释放等) 我知道如何为一个普通的按钮做到这一点,但我不确定是否有可能与actionbars标志按钮 如果不是,如何实现支持此功能的am操作栏?外部libs 多谢各位 您可以使用选择器拾取不同的图像。 可能有帮助您可以使用选择器拾取不同的图像。 可能有助于在res/drawable中创建可绘制的xml文件,例如res/drawable/button\u selector.xml <?xml version="1.0" e

所以我想知道如何实现一个带有徽标按钮的操作栏,每个州有不同的图像(按下、释放等)

我知道如何为一个普通的按钮做到这一点,但我不确定是否有可能与actionbars标志按钮

如果不是,如何实现支持此功能的am操作栏?外部libs


多谢各位

您可以使用选择器拾取不同的图像。
可能有帮助

您可以使用选择器拾取不同的图像。
可能有助于在
res/drawable
中创建可绘制的xml文件,例如
res/drawable/button\u selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/button_pressed"
      android:state_pressed="true" />
    <item android:drawable="@drawable/button_normal" />
</selector>
这两条线都很重要:一条用于夏洛克动作栏,另一条用于标准动作栏

然后在清单中将主题设置为您的活动:

   <activity
        android:name=".yourActivity"
        android:theme="@style/YourTheme.Sherlock" >
    </activity>
将背景替换为您选择的可绘制背景,其中
android:state\u pressed=“true”


只需要一个背景就可以做很多事情,但这就是
操作栏的工作方式。

res/drawable
中创建一个可绘制的xml文件,例如
res/drawable/button\u selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/button_pressed"
      android:state_pressed="true" />
    <item android:drawable="@drawable/button_normal" />
</selector>
这两条线都很重要:一条用于夏洛克动作栏,另一条用于标准动作栏

然后在清单中将主题设置为您的活动:

   <activity
        android:name=".yourActivity"
        android:theme="@style/YourTheme.Sherlock" >
    </activity>
将背景替换为您选择的可绘制背景,其中
android:state\u pressed=“true”


仅仅作为一个背景就有很多事情要做,但这就是
操作栏的工作原理。

我想你正在寻找这个:

final ActionBar bar = getActionBar();
bar.setDisplayHomeAsUpEnabled(true);

这会自动使您设置的徽标看起来像是单击时按下的徽标。无需使用不同的图像来显示状态更改。这是一个相当简单的方法。不过如果你用的是ActionBarSherlock,我想这是行不通的。我相信严格来说是4.0。查看上的文档。

我想您正在寻找以下内容:

final ActionBar bar = getActionBar();
bar.setDisplayHomeAsUpEnabled(true);

这会自动使您设置的徽标看起来像是单击时按下的徽标。无需使用不同的图像来显示状态更改。这是一个相当简单的方法。不过如果你用的是ActionBarSherlock,我想这是行不通的。我相信严格来说是4.0。查看上的文档。

您好,按下时是否也会替换默认的蓝色突出显示?替换背景还有很多工作要做。请参阅编辑后的答案我看到您引用了Shelock栏,这意味着我需要实现这个第三方库。所以我猜如果没有lib和标准的操作栏,就没有办法做到这一点?操作栏只适用于Android 3.0+。如果您想要向后兼容,您需要ActionBarSherlock,它将ActionBar移植到Android 3.0之前的版本。如此看来,如果我只支持3.0+,我不需要实现actionbarsherlock,对吗?您好,按下时这是否也会替换默认的蓝色突出显示?替换背景还有很多工作要做。请参阅编辑后的答案我看到您引用了Shelock栏,这意味着我需要实现这个第三方库。所以我猜如果没有lib和标准的操作栏,就没有办法做到这一点?操作栏只适用于Android 3.0+。如果您想要向后兼容,您需要ActionBarSherlock,它将ActionBar移植到Android 3.0之前的版本。看到了,如果我只支持3.0+,我不需要实现actionbarsherlock,对吗?