Java Android,如何在状态更改时更改actionbars徽标按钮?
所以我想知道如何实现一个带有徽标按钮的操作栏,每个州有不同的图像(按下、释放等) 我知道如何为一个普通的按钮做到这一点,但我不确定是否有可能与actionbars标志按钮 如果不是,如何实现支持此功能的am操作栏?外部libsJava 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
多谢各位 您可以使用选择器拾取不同的图像。
可能有帮助您可以使用选择器拾取不同的图像。
可能有助于在
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,对吗?