除了删除它们之外,您还可以隐藏不想显示的按钮。

例如:

private boolean isPlaying;

MenuItem mPlayMenuItem;

MenuItem mPauseMenuItem;

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu items for use in the action bar

MenuInflater inflater = getMenuInflater();

inflater.inflate(R.menu.actionbarlogic, menu);

mPlayMenuItem = menu.findItem(R.id.action_play);

mPauseMenuItem = menu.findItem(R.id.action_pause);

return super.onCreateOptionsMenu(menu);

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {

case R.id.action_play:

isPlaying = true;

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {

this.invalidateOptionsMenu();

}

return true;

case R.id.action_pause:

isPlaying = false;

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {

this.invalidateOptionsMenu();

}

return true;

default:

return super.onOptionsItemSelected(item);

}

}

@Override

public boolean onPrepareOptionsMenu (Menu menu) {

super.onPrepareOptionsMenu(menu);

if (isPlaying) {

mPlayMenuItem.setVisible(false); // hide play button

mPauseMenuItem.setVisible(true); // show the pause button

} else if (!isPlaying) {

mPlayMenuItem.setVisible(true); // show play button

mPauseMenuItem.setVisible(false); // hide the pause button

}

return true;

}

请注意,这是:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {

this.invalidateOptionsMenu();

}

需要更新操作栏。 在3.0设备之后,操作栏不会自动更新。 因此,您必须手动告诉它调用“ OnPrepareOptionsMenu(Menu)”,以便它将通过调用“ Activity.invalidateOptionsMenu()”来刷新项目。

希望这可以帮助!

参考:[http://developer.android.com/reference/android/app/Activity.html#onPrepareOptionsMenu(android.view.Menu)]

[http://developer.android.com/reference/android/support/v4/app/ActivityCompat.html#invalidateOptionsMenu(android.app.Activity)]

android 动态 修改图标,android-动态更改ActionBar中的图标相关推荐

  1. java menuitem 图标_java – 如何以编程方式更改ActionBar中的MenuItem图标

    如何以编程方式更改ActionBar中的MenuItem图标?我试着用 MenuItem menuItem = (MenuItem)findViewById(R.id.action_settings) ...

  2. android 动态修改 selector,Android Selector 按下修改背景和文本颜色的实现代码

    1,selector 按下修改背景和文本颜色 [1]点击改变字体颜色 - android:state_pressed(按压状态) [2]selector状态选择器(bg_btn_two (存放 res ...

  3. Android 多渠道打包实操(更改包名、图标、主题资源 、替换常量、第三方SDK Appkey配置)

    最近在做一个通用版的会员系统,给予不同的公司使用,先前是通过切换版本分支来管理的,后面发现实在是繁琐和痛苦管理,仅仅是需要更改不同的常量.主题资源.包名.图标等等,主体代码逻辑功能基本不变. 先前了解 ...

  4. android4.4 r漫游图标,Android N 修改网络类型,数据上下行和漫游图标相关布局和逻辑...

    实现效果如下图: 1.网络类型在左上方显示,如4G; 2.数据上下行在网络类型的下方: 3.当漫游时,漫游图标R将显示在信号强度上方,如红色箭头地方. 具体修改如下 alps/frameworks/b ...

  5. android 自动修改ip,Android实现编程修改手机静态IP的方法

    本文实例讲述了Android实现编程修改手机静态IP的方法.分享给大家供大家参考.具体如下: 这里演示通过编程方式动态修改手机静态IP的方法,可以用于wifi接入点切换 public void onC ...

  6. android 动态修改资源,Android如何动态修改Manifest文件

    修改manifest文件Android Manifest.xml,添加相应的声明.在这里,我们需要将新定义的活动PrefsActivity注册到manifest文件. 同前面一样,在Eclipse中打 ...

  7. iframe的src动态修改并刷新_微服务中配置中心Config+消息总线Bus,实现分布式自动刷新配置

    技术/杨33 一.分布式配置中心Config 一套集中的.动态的配置管理,实现统一配置微服务中的每个子服务. Spring Cloud Config为微服务架构提供了集中化的外部配置支持,配置服务器为 ...

  8. android mm 修改路径,Android 编译系统模块

    在开发过程中,尤其是Framework相关开发时,有时候需要重新编译资源文件.编译顺序和注意事项如下: 1,资源文件位置:frameworks/base/core/res 2,编译后生成的文件:fra ...

  9. Android反射修改view,Android 修改viewpage滑动速度的实现代码

    1.自定义Scroller public class ViewPageFixedSpeedScroller extends Scroller { private int mDuration = 300 ...

最新文章

  1. 使用KMeanCluster对多个区域进行聚类,并结合Matplotlib绘制中心点、最大最小距离点
  2. tip use view.isineditmode() in your custom views to skip code when shown in eclipse
  3. mybatis plus 多表查询_Mybatis 多表查询之一对多
  4. 【STBC】Alamouti,STBC误码率仿真
  5. 在线浏览器摄像头软件!妈妈再也不用担心我的windows摄像头驱动没更新啦!
  6. writer在java中的意思_Java在FileWriter和BufferedWriter之间的区别
  7. python循环函数怎么改变变量_python:循环定义多个变量
  8. GEO2R/GEOquery的结果可能是错的!!!
  9. A Software Developer’s Reading Plan
  10. windows10杀死本地进程
  11. 给定一个数组,将所有的元素在一行里打印出来,中间以逗号分开
  12. wangeditor光标乱跑,回车换行又返回来问题
  13. spilt的用法小结
  14. 如何看待用户反馈意见
  15. “一文读懂”系列:AMS是如何动态管理进程的?
  16. 计算机等级考试Python二级
  17. 酷睿i7和i5对计算机专业要求,英特尔i5已经足够用 还有必要升级i7处理器吗?
  18. pic c语言 位标志,PIC单片机状态寄存器中的C(进位/借位位标志)
  19. Matlab笔记(二):Matlab实现高斯函数的三维显示
  20. 【图像隐写】DCT文本嵌入+提取【含GUI Matlab源码 1850期】

热门文章

  1. android timer弹出窗口,android – 如何在服务类中的Timer内显示AlertDialog?
  2. 智慧电梯物联网 未来电梯将更智能
  3. 产品设计体会(3000)项目与文档,系列说明
  4. UIWebView保存网页中的图片(转载)
  5. Skype for Business Server 2015-07-边缘服务器-3-部署
  6. 游戏开发--开源21---CroftSoft Code Library |Gibdo|JOGR...
  7. 图书管理系统前景与范围文档
  8. ZooKeeper概述
  9. 某央企程序员炫耀:央企研发岗才是性价比天花板!955,不卷不裁,6险2金,500元单身公寓!...
  10. 最牛程序员,雷军年度演讲:最好的投资,就是投资自己