Articles of android optionsmenu

Android选项菜单图标将不会显示

我正在阅读一本关于Android开发的书,让我开始编写我的第一个真正的应用程序。 我达到了我正在为我的一项活动制作选项菜单的地步。 菜单显示,但菜单项的相应图标拒绝显示。 这是菜单的代码: ReminderListActivity @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); MenuInflater mi = getMenuInflater(); mi.inflate(R.menu.list_menu, menu); return true; } RES /菜单/ list_menu.xml 我已将ic_menu_add.png图标(32x32px)从我的一个Android SDK子文件夹复制到我的res / drawable-mdpi文件夹,并将该文件重命名为menu_add.png。 我刷新了eclipse中的文件夹,所以图标显示出来,正如你所看到的,我将它设置为布局文件中菜单项的图标。 我尝试在模拟器中运行我的项目几次,但图标永远不会出现。 为了记录,我使用Android 4.0.3 .. 有任何想法吗?

使用兼容性库在ICS中未显示选项菜单

我无法在使用android-support-v4.jar库的项目中的ICS片段中显示选项菜单。 我正在使用Galaxy Nexus手机进行测试。 我们没有使用操作栏,并且需要该应用程序与2.2+兼容。 我们在ICS的活动中没有看到任何选项菜单(FragmentActivity不支持onCreateOptionsMenu) 我可以在以前版本的Android中使用菜单 – 我有所有正确的框架来启用选项菜单(如下所示)但ICS中没有显示任何内容。 单步执行代码时,不会调用onCreateOptionsMenu。 有人可以建议修复吗? import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; public class SuperFragment extends Fragment { @Override public void onCreate(Bundle savedInstanceState) { setHasOptionsMenu(true); super.onCreate(savedInstanceState); } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.display_options_actions, menu); super.onCreateOptionsMenu(menu, inflater); } @Override public boolean […]

在Android 4.1.x上取消ActionBar Overflow菜单时发出警告

这是我得到的警告: 03-02 14:38:43.980: W/InputEventReceiver(3961): Attempted to finish an input event but the input event receiver has already been disposed. 我的菜单是从常规res/menu/activity_menu.xml文件生成的。 我正在http://developer.android.com/guide/topics/ui/menus.html#options-menu上详细处理这些事件。 当我点击垂直三个点来打开溢出菜单并取消它时,我收到了警告。 似乎很少知道如何抓住它的触发器。 有任何想法吗?

按菜单按钮会导致Activity没有ActionBar崩溃

我是Android的新手,正在开发我的第一个应用程序。 我有主要的活动,里面没有ActionBar 。 而且我不想在该Activity显示任何菜单。 一切都工作正常但是当我按下设备本身的菜单按钮时,它会导致我的应用程序强行关闭而不是忽略它。 我正在为sdk> = 8开发,所以我正在使用支持库。 我尝试在代码中添加OnCreateOptionMenu() ,但没有任何内容,但结果却相同。 我的应用程序的名称是GUI,包是gui。 这是Logcat: 10-09 19:52:32.920: E/AndroidRuntime(7440): FATAL EXCEPTION: main 10-09 19:52:32.920: E/AndroidRuntime(7440): java.lang.NullPointerException 10-09 19:52:32.920: E/AndroidRuntime(7440): at android.support.v7.app.ActionBarImplICS.getThemedContext(ActionBarImplICS.java:274) 10-09 19:52:32.920: E/AndroidRuntime(7440): at android.support.v7.app.ActionBarActivityDelegate.getMenuInflater(ActionBarActivityDelegate.java:89) 10-09 19:52:32.920: E/AndroidRuntime(7440): at android.support.v7.app.ActionBarActivity.getMenuInflater(ActionBarActivity.java:71) 10-09 19:52:32.920: E/AndroidRuntime(7440): at android.app.Activity.onCreatePanelMenu(Activity.java:2554) 10-09 19:52:32.920: E/AndroidRuntime(7440): at android.support.v4.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:224) 10-09 19:52:32.920: E/AndroidRuntime(7440): at android.support.v7.app.ActionBarActivity.superOnCreatePanelMenu(ActionBarActivity.java:224) 10-09 19:52:32.920: E/AndroidRuntime(7440): […]

Android – 正确使用invalidateOptionsMenu()

我一直在关注invalidateOptionsMenu() ,我知道它的作用。 但是我想不出这个方法可能有用的任何现实生活中的例子。 我的意思是,例如,假设我们想要为ActionBar添加一个新的MenuItem ,我们可以从onCreateOptionsMenu(Menu menu)获取菜单,并在任何按钮的操作中使用它。 现在我真正的问题是,遵循使用invalidateOptionsMenu()的唯一方法? bool _OtherMenu; protected override void OnCreate (Bundle bundle) { _OtherMenu = false; base.OnCreate (bundle); SetContentView (Resource.Layout.Main); Button button = FindViewById (Resource.Id.myButton); button.Click += delegate { if(_OtherMenu) _OtherMenu = false; else _OtherMenu = true; InvalidateOptionsMenu (); }; } public override bool OnCreateOptionsMenu (IMenu menu) { var inflater = this.SupportMenuInflater; […]

如何在android中的菜单项中添加切换按钮

我的应用程序中有选项菜单项。 要求是在菜单项中添加切换按钮。 这可能吗?

如何更改工具栏导航图标和选项菜单边距

有没有办法在Toolbar更改导航图标的左边距和操作项的右边距?

android – dynamic更改选项菜单,但通过从XML膨胀

我需要能够改变在Android上的选项菜单(按下菜单button时显示的那个),以便在一种情况下(例如按下button时),它将使用特定的菜单资源(XML文件如in / res / menu / …),另一种情况是使用不同的XML文件。 到目前为止,我只看到没有XML的例子( 这里和这里的例子),他们工作得很好,但我想能够改变一些情况下的整个菜单。 我试图修改我find的解决scheme,但我的试验没有任何工作。 如果可能的话,我宁愿重新创build菜单,只有当它需要使用与当前菜单资源不同的菜单资源进行更新时。 请帮帮我。

如何在SherlockFragment中实现onCreateOptionsMenu方法?

我真的很努力在我的Sherlock片段中设置onCreateOptionsMenu方法,因为我通常不使用Sherlock片段。 有人可以告诉我必须导入什么,以及如何实施? 我有一些代码: public class MyFragment extends SherlockFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.custom_list, container, false); // SOME CODE … return rootView; } @Override public boolean onCreateOptionsMenu(Menu menu) { // ??? } }

选项菜单locking在星系s4上

我的应用程序使用旧式的选项菜单。 目前我们的目标是API 9.在Galaxy S4上我注意到了以下行为: 用户点击菜单button。 菜单按预期显示。 用户点击“更多”访问溢出部分。 溢出部分按预期方式显示。 用户点击后退button返回到原始选项菜单。 原始菜单按预期显示。 此时,点击选项菜单中的任何元素(包括“更多”)选项似乎没有效果。 但是系统实际上是caching这些水龙头。 如果用户点击五次菜单(没有可见的效果),则点击后退button以隐藏菜单,然后点击菜单button以再次显示菜单,所有caching的水龙头都立即发生。 onOptionsMenuItemSelected()每次用户点击该菜单项时调用一次。 这只发生在S4(可能还有其他三星设备)上。 值得注意的是,我没有看到这种行为使用Galaxy Nexus运行股票4.2.2。 这是三星的Android定制的错误,还是更有可能我在我的应用程序中做错了事情,股票的Android代码是更宽容?