Android操作栏图片

时间:2013-02-28 14:50:55

标签: android android-actionbar

我想在操作栏的最右侧角显示一个图像。我希望在运行时根据一些代码检查设置此图像。有人可以指导我如何去做吗?

谢谢

2 个答案:

答案 0 :(得分:2)

使用它。此代码在右上角添加了一个名为R.drawable.refresh的图标的刷新按钮。只有在有足够空间时才显示图标,否则它会在菜单上显示

    private Menu myMenu

    public void changeMenu (int resource) {

    myMenu.getItem(0).setIcon(resource); //here resource is your R.drawable.insertid

    }

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    // getMenuInflater().inflate(R.menu.activity_main, menu);
            myMenu = menu;
    MenuInflater inflater = getSupportMenuInflater();
    inflater.inflate(R.menu.activity_main, menu);
    menu.add("Refresh").setIcon(R.drawable.refresh)
            .setOnMenuItemClickListener(new OnMenuItemClickListener() {

                @Override
                public boolean onMenuItemClick(MenuItem item) {
                                            doStuff();
                    return false;
                }
            }).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
    return super.onCreateOptionsMenu(menu);
}

只需在您想要更改代码的地方调用changeMenu并传递drawable id。

编辑:将其粘贴到您的活动上并添加要求您的导入。您应该根据自己的需要添加自己的drawable。请记住,图标测量

  • mdpi:32x32
  • hdpi:48x48
  • xhdpi:64x64

答案 1 :(得分:-1)

如果要在运行时更改它,则需要创建菜单(在onCreateOptionsMenu中)并保存菜单项。喜欢这个

MenuItem changeableMenuItem = menu.add("new Item");

现在您可以致电changeableMenuItem.setIcon来更改图标,然后如果您在课程中设置changeableMenuItem字段,则可以在课程的任何位置更改图标。

如果您不确定如何制作菜单项,可以参考Dante的答案。