Android动态改变actionbar的图标

使用v7包的actionBar怎么动态更新图标
getWindow().invalidatePanelMenu(Window.FEATURE_OPTIONS_PANEL);

这个方法要求api11 但是目前项目要兼容到10 请问在11以下的版本要调用什么方法

就是这里,怎样才能在代码中动态改变这里的图标。
比如我得到了某种状态,我想给图标换个颜色。
onPrepareOptionsMenu这个函数,我试了试,即使按物理按键,对ActionBar上的menu似乎不起作用,那如何才能改变呢?

或者,如何才能在代码中获取在

public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}

这里加载过的menu呢?

补充说明:

public boolean onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);

MenuItem menuItem = menu.findItem(R.id.create_connection);
if (isCreateConnectionSuccess) {
menuItem.setIcon(R.drawable.apps_bright);
menuItem.setTitle("改变过");
}
return true;
}

这段代码我试过,但是ActionBar是个神奇的东西,它只改变了Title,而Icon却没改变。
我猜原因可能是因为ActionBar上的Menu一直显示,所以对它没有“显示前”?
温馨提示:内容为网友见解,仅供参考
无其他回答

android中当收到N条消息后,怎么将N这个数字显示在ActionBar上的一...
使用一个View,例如TextView,背景设置为你需要的图标,然后在这个TextView设置相对应的数字显示在上面

如何动态更新actionbar上的自定义textview
android:text="@string\/action_bar_title" \/> <Spinner android:id="@+id\/action_bar_spinner"android:layout_width="wrap_content"android:layout_height="match_parent" > <\/Spinner> <\/LinearLayout> <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http:\/\/schemas.a...

overflow android 三个点的布局怎么得到
第二种方法,可以动态的替换这个图标,首先在style中给添加一个name,代码如下: <item name="android:contentDescription">@string\/accessibility_overflow<\/item> <!-- 下面这个属性石替换三个点图标的 --> <item name="android:actionOverflowButtonStyle">@style\/OverFlow<\/item> 复制代码 然后在...

如何使用V7包中ActionBar
showAsAction的属性有一下几种:ifRoom:如果有空间就显示,没有就被折叠 never:永不显示 always:始终显示 withText:图标和文字一起显示 collapseActionView:被折叠 5. 改写需要显示ActionBar的Activity,让它继承android.support.v7.app.ActionBarActivity.重写onCreateOptionsMenu方法 ...

Android中如何在Action Bar中显示选项菜单items?
withText:withText值示意Action Bar要显示文本标题。Action Bar会尽可能 的显示这个标题,但是如果菜单项的图标是有效的并且受到 Action Bar 空间的限制,文本标题有可能显示不全。collapseActionView:这个属性使用的不多,这里就不进行介绍了。这些都是Android中的基础知识,如果你想要更加详细的了解你可以...

怎么用Android实现ActionSheet效果
1、首先在res\/anim文件夹下创建slide_up.xml和slide_down.xml(文件名随意),代码如下:2、然后在res\/values文件夹下的styleds文件(没有的话就新建一个),增加以下代码:3.最后,在dialog弹出之前,使用刚刚实现的动画效果:dialog.getWindow().getAttributes().windowAnimations = R.style.Dialog...

怎么使用V7包中ActionBar-Android开发问答
activity继承ActionBarActivity,然后在onCreate()方法中getSupportActionBar,并设置你想要的效果就可以了。

如何在Fragment中使用Actionbar-Android开发问答
Actionbar是Activity的东西,Fragment是运行在Activity中的碎片,要使用actionBar要通过getActivity来处理、。1.Fragment是android3.0引入的新控件,果应用使用在3.0以下、1.6及以上的版本,需要引入v4包。2.Fragment支持在不同的Activity中使用并且可以处理自己的输入事件以及生命周期方法等。3.Fr期方法依赖...

android开发,实现下面图片中的背景图片放大的效果,下拉背景图片变大...
滑动的时候动态改变ImageView的scaleX和scaleY就好了。比如你滑动100px需要方法1.5倍,那就在onScroll的时候计算出滑动距离,设置相应的scale。具体的可以参考下NoBoringActionbar,实现原理差不多。

Actionbar 可不可以把标题栏隐藏掉
1、可以通过把主题设置为Theme.Holo.NoActionBar为一个Activity去除掉ActionBar。<activity android:theme="@android:style\/Theme.Holo.NoActionBar"> 2、也可以通过在代码中调用show()或者hide()方法来相应的显示或者隐藏ActionBar 3、在使用actionBar.hide();方法是系统默认会将ActionBar占用的空间分配...

相似回答