gpt4 book ai didi

java - 我怎样才能改变android actionbar图片

转载 作者:行者123 更新时间:2023-11-29 05:01:51 24 4
gpt4 key购买 nike

我是 android 新手,我正在使用 android studio 进行开发。我想将 actionbar 右上角按钮图像更改为另一个图像,但在编译到我的 android 设备后,该按钮仍然保留......但我的自定义图像。请帮忙!!下面是我的代码。我的公共(public)课是扩展 Activity 。

菜单.xml

    android:id="@+id/action_share"
android:orderInCategory="100"
android:title="Share"
android:icon="@drawable/ic_search_black"
app:showAsAction="ifRoom"

最佳答案

Vic3ai,最右边的图标是 Action Overflow,它总是会显示一个下拉列表,其中包含不适合操作栏的操作按钮(要么是因为没有t 房间或者因为我们决定故意在溢出中放一些)。

这可能会让您更好地了解溢出是什么和用于什么,以及操作栏的一般概述 - http://developer.android.com/design/patterns/actionbar.html .

听起来您真正想要的是向您的操作栏添加一个操作按钮。你可以这样做:

首先在您的 menu.xml 中添加一个新项目,您希望它出现在哪个 Activity 中:

<item
android:id="@+id/camera_button"
android:title="@string/camera"
android:icon="@drawable/camera_icon"
android:orderInCategory="100"
android:showAsAction="always"
/>

这里重要的是android:showAsAction="always"。这就是使它在操作栏上显示为操作按钮的原因。您还可以使用值“ifRoom”,它按照锡盒上的说明进行操作:如果操作栏上有空间,按钮就会显示,否则会进入操作溢出。

现在我们有了 actionbutton,我们转到 actvity.java 并响应按钮:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle presses on the action bar items
switch (item.getItemId()) {
case R.id.camera_button:
//your code here, eg:
openCamera();
return true;
// if you have other buttons, more cases would go here

}

return super.onOptionsItemSelected(item);
}

到目前为止,这应该会在操作栏上为您提供一个操作按钮,它将运行您在 activity.java 中定义的任何内容,但操作溢出仍会存在。删除它的最简单方法是返回到您的 menu.xml 并删除/更改将出现在溢出中的任何项目。

android:showAsAction="never"

会自动将 Action 放入溢出

如果您有很多操作按钮并且其中任何一个都有 android:showAsAction="ifRoom",您可能会再次在最右侧发现一个溢出按钮

注意,如果您使用的是 appCompat 兼容性,请使用 app:showAsAction="always" 而不是 android 命名空间。

希望对您有所帮助!

关于java - 我怎样才能改变android actionbar图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31880277/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com