Articles of menuitem

如何设置标签到MenuItem?

我在android中构建一个popup菜单,我需要在每个菜单项中存储一些ID。 ID是String,因此如果我可以将一个String数组设置为MenuItem,那将是很好的。 问题是MenuItem没有setTag方法。 我还能如何附加一些数据呢? 编辑:Geobits提到了getActionView(); 不幸的是,它返回null。 但是,执行以下操作是否可以节省成本? View view = new View(getActivity()); view.setTag(tag); menuItem.setActionView(view);

ActionBarSherlock硬键菜单面板文本颜色

关于使用ActionBarSherlock的应用程序,我有一个小问题。 除了Samsung phones with TouchWizz外,一切正常。 按硬件菜单键可显示溢出菜单项。 我知道如何更改面板背景。 我的默认主题扩展了Theme.Sherlock.Light.DarkActionBar ,因此硬件面板中的默认菜单项文本颜色将为black ,我不想改变它。 除了更改默认主题的父级之外,有关如何执行此操作的任何想法? @drawable/menu_hardkey_panel

在选项菜单中设置itemId

我有一个通过XML资源定义的菜单。 现在动态我添加一个菜单项 public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.mainmenu, menu); if(myCondition==true) { menu.add(0, 99, 0, “new Entry”); } return true; } 在onOptionsItemSelected(MenuItem item)中,我有一个case语句,它检查“99”并执行我的操作。 从技术上讲,这很好,我只是想知道是什么号码,这里99,我会选择? 在XML中创建的项目通过资源文件获得了一个ID,我假设Android有一些逻辑来创建这些项目。 我想知道生成的菜单项是否会偶然发生99,然后它将不再起作用。 什么是最好的方式?

Gmail平板电脑,如Actionbar项目

我正在尝试使用Gmail应用中的拆分actionbar/toolbar构建应用。 是否存在此行为的任何视图元素,或者我是否必须自己编写这样的工具栏? 打开slidingDrawer时,搜索图标与主fragment一起移动。

根据打开的片段更改操作栏中的选项菜单图标

我的选项菜单中有这个项目: 菜单本身在主FragmentActivity中创建。 我想根据打开的Fragment以编程方式更改此项目的图标,显然,当用户点击此按钮时会有不同的操作。 我尝试了几件事,但没有任何效果。 我尝试的最后一件事是我的Fragment的onCreateView方法中的代码: MenuItem mi = (MenuItem) view.findViewById(R.id.opt_mnu_action); mi.setIcon(R.drawable.ico_1); 但我的应用程序崩溃了。 有没有办法做到这一点? **更新** 以下是我现在要做的事情,所有这些都在我的主要主要FragmentActivity中:首先我有一个MenuItem action_button; 在我的层次结构视图中 然后在我的onCreateOptionsMenu方法中实例化它: @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.options_menu, menu); action_button = menu.findItem(R.id.opt_mnu_action); return super.onCreateOptionsMenu(menu); } 然后我创建了这个函数来根据打开的标签更改图标: public void change_action_button_icon(int tab_position) { switch(tab_position) { case 0: action_button.setIcon(R.drawable.ico_1); break; case 1: action_button.setIcon(R.drawable.ico_2); break; case 2: action_button.setIcon(R.drawable.ico_3); […]

是否有一种在Android 3.0中的操作栏项之间添加分隔符的标准方法?

我尝试在我的应用中自定义操作栏的外观时遇到了一些问题。 我希望能够使用像素宽的分隔线来组合您在许多本机应用程序(例如Gmail,日历)中看到的操作栏项目。 通过添加菜单项并将’android:actionLayout’属性设置为分隔符的自定义布局,我find了一种方法: 这很好用,但问题是它被视为一个菜单项,操作栏似乎将菜单项的数量限制为4 – 任何其他项都被推入溢出菜单。 所以我想我要问的是,是否有一种标准的方法来添加项目分隔符,而不必使用具有自定义视图的菜单项,并且不会计入操作栏项目的限制? 提前致谢!

MenuItem的选中状态未通过其图标正确显示

我有这样定义的MenuItem: 和btn_star.xml定义: 但是,当我使用此选项创建选项菜单时,即使MenuItem的isChecked()属性为true,图标也不会以其选中状态显示。 我正在使用ActionBarSherlock控件,但是,如果我只是创建一个普通的选项菜单并调用setChecked(true) ,我会得到相同的结果。 无论项目的检查状态如何,它仍然显示btn_star_off drawable。 正确调用onOptionsItemSelected()方法,我可以成功更改checked属性: @Override public boolean onOptionsItemSelected(MenuItem item) { if(item.isCheckable()) { item.setChecked(!item.isChecked()); } return super.onOptionsItemSelected(item); } 在此处设置断点显示isChecked属性正在更改,但图标本身未更新以反映正确的状态。 这里有什么我想念的吗? 我做错了吗? 我无法弄清楚为什么这不能正常工作。

将一个项目对齐ActionBar左侧

我想将一个项目对齐ActionBar的左侧,将其他项目对齐到右侧,如下所示: 我的菜单xml中有5个项目。 main.xml中 我们该怎么做? 抱歉我的英语非常差劲。

如何更改操作栏上菜单项的位置

我正在开发一个应用程序,我必须在操作栏上添加自定义布局。 添加自定义布局已完成,但是当我在操作栏上添加菜单项时,我的自定义布局会将其从操作栏右侧的位置更改为操作栏的中心。 下面是我到目前为止所获得的图像。 我在动作栏上想要这样的东西。 自定义布局(黄色按钮)位于操作栏的最右侧,菜单项位于中间。 添加我的代码以使用本机android操作栏实现此自定义布局: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setHomeButtonEnabled(true); actionBar = getActionBar(); actionBar.setDisplayShowTitleEnabled(false); actionBar.setDisplayUseLogoEnabled(false); actionBar.setDisplayHomeAsUpEnabled(false); actionBar.setDisplayShowCustomEnabled(true); cView = getLayoutInflater().inflate(R.layout.header, null); actionBar.setCustomView(cView); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.websearch_menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: […]

Android MenuItem自定义布局

当我点击操作栏中的操作按钮时,会出现一个PopupMenu 。 我希望我的PopupMenu中的MenuItem具有如下自定义布局: 布局/ menu_item_layout.xml 这是PopUpMenu的xml: 菜单/ pop_menu.xml 我的活动代码如下: public void showPopup(int idR){ View menuItemView = findViewById(idR); PopupMenu popup = new PopupMenu(this, menuItemView); MenuInflater inflate = popup.getMenuInflater(); inflate.inflate(R.menu.pop_menu, popup.getMenu()); MenuItem menuItem= popup.getMenu().findItem(R.id.popupItem); menuItem.setActionView(R.layout.menu_item_layout); popup.show(); } 但是当出现popupmenu时,item为空。 我使用setActionview()方法错了吗? 谢谢。