更改操作栏图标(Changing the Action bar icon)

2019-06-26 15:02发布

我目前正在实施的主题支持我的应用程序和它的一部分是改变操作栏的应用程序图标。 我想选择Holo浅色时,使用的是深色的图标。 一切都在法,但在操作栏的应用程序图标设置的一部分来完成。 我想要使​​用的代码是:

getActionBar();
ActionBar.setIcon(R.drawable.my_icon);

“有可在这里没有这样的参考”是,我发现了错误。 如何来正确地完成?

顺便说一句我minSdkVersion14所以没有操作栏福尔摩斯的东西。

Answer 1:

getActionBar();

你扔的动作栏远离那里。 getActionBar()返回的实例ActionBar ,你则需要调用setIcon()上。 像这样:

ActionBar actionBar = getActionBar();
actionBar.setIcon(R.drawable.my_icon);


Answer 2:

虽然它有点晚了答案,但我想这可能是有用的。

从活动内:对于API级别14或更高:

getActionBar().setIcon(R.drawable.my_icon);

对于较低API级别,我们不得不延长ActionBarActivity然后:

getSupportActionBar().setIcon(R.drawable.my_icon);

从片段内:对于API级别14或更高:

getActivity().getActionBar().setIcon(R.drawable.my_icon);

对于较低级别的API,我们可以使用(活动必须扩展ActionBarActivity):

((ActionBarActivity)getActivity()).getSupportActionBar().setIcon(R.drawable.my_icon);

而在这两种情况下,我们有设置图标或标志之前调用setDisplayShowHomeEnabled(真)。

((ActionBarActivity)getActivity()).getSupportActionBar().setDisplayShowHomeEnabled(true);

((ActionBarActivity)getActivity()).getSupportActionBar().setIcon(R.drawable.my_icon);


Answer 3:

您需要添加要引用到你的绘制drawable/文件夹下res/

编辑:在您的Android安装文件夹下有很多库存图片的使用。 你也许可以找到它。



Answer 4:

现有的答案是非常正确的。 然而,有,也很另类。 一个最小的方法是使用

getActionBar().setIcon(R.drawable.my_icon);

干得马上你的工作。 :)

技术细节 :由于getActionBar()默认返回一个对象,你可以直接操作,而无需接受它在调查范围内的对象明确。



Answer 5:

打电话来setIcon是不够的我。

在此之前,我不得不从活动标志的显示切换到活动图标:

actionBar.setDisplayUseLogoEnabled(false);

对于活动图标和标识之间的差别看到Android的图标VS标志 。



Answer 6:

我用这对我的使用,它的工作对我来说。 希望这有助于所有

actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeAsUpIndicator(R.drawable.icon);


Answer 7:

试试这个

    setSupportActionBar(toolbar);
    if (getSupportActionBar() != null)
    getSupportActionBar().setIcon(R.drawable.your_icon);


文章来源: Changing the Action bar icon