gpt4 book ai didi

android - 单击时更改工具栏中的图标

转载 作者:太空宇宙 更新时间:2023-11-03 12:16:39 24 4
gpt4 key购买 nike

我在我的 Activity 中定义了一个工具栏,它展开了一个只有一个图标的菜单。我想要一种更改该图标的方法;这样当我点击它时,它会变成另一种图标或颜色......这是我的工具栏代码

final Toolbar bar = (Toolbar) findViewById(R.id.actionbar);
bar.setTitle(Html.fromHtml("<font color=#ffffff>" + getString(R.string.print_s) + "</font>"));
bar.setNavigationIcon(getResources().getDrawable(R.drawable.back_btn));
bar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DetailActivity.this.finish();
}
});
bar.inflateMenu(R.menu.fav);
bar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
int id = item.getItemId();
if (id == R.id.star) {

//I want to change my toolbar icon here,once when its clicked...

myFavourites();
return true;
}
return false;
}
});

XML部分(R.menu.fav)

  <item
android:id="@+id/star"
android:icon="@mipmap/favorite_blue"
app:showAsAction="ifRoom"
android:title="@string/fav"/>

我想在点击 favorite_blue 图标时将其更改为其他图标。

最佳答案

MenuItem有一个方法叫做 setIcon(Drawable icon)这需要 Drawable .只需调用并设置即可。

您还可以使用 setIcon(int iconRes)方法,如果你没有 Drawable

更多关于 Drawables here .


示例代码:

bar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
int id = item.getItemId();
if (id == R.id.star) {
Drawable myDrawable = getResources().getDrawable(R.drawable.myDrawable); // The ID of your drawable.
item.setIcon(myDrawable);

myFavourites();
return true;
}
return false;
}
});

关于android - 单击时更改工具栏中的图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32956122/

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