Articles of 选项菜单

当我们使用app时,更改选项菜单的文本颜色:showAsAction =“always”

我正在使用工具栏,并使用相应的操作选项。 我的问题是这个我想在白色的工具栏上显示“保存”文本,我应用了许多风格,但总是显示为黑色。 但是当选项显示为popup式时,文本颜色总是白色的。 我谷歌这很多,但没有解决scheme。 这是我的代码: 工具栏 <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/tools" android:id="@+id/my_awesome_toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:theme="@android:style/ThemeOverlay.Material.Light" app:popupTheme="@style/Theme.AppCompat.NoActionBar" android:background="@drawable/tb_header" android:minHeight="?attr/actionBarSize"/> 款式 <style name="MStyle" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowBackground">@android:color/white</item> <item name="android:colorBackground">@android:color/black</item> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorAccent">@color/colorAccent</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="android:textAllCaps">false</item> <item name="android:popupMenuStyle">@style/MyPopupMenu</item> <item name="android:panelBackground">@android:color/holo_green_light</item> <item name="android:actionBarWidgetTheme">@style/AppTheme</item> </style> <style name ="MyPopupMenu" parent="android:Theme.Holo.Light"> <item name="android:popupBackground">@android:color/holo_green_light</item> </style> ****Option menu**** <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:context="com.doubtfire.userprofiles.ParentProfileActivity"> <item android:id="@+id/action_skip" […]

选项菜单 – 从项目中删除焦点

如何从选项菜单项删除焦点? 即当我第一次打开菜单时,没有任何项目有焦点。 但是,如果我使用跟踪球专注于其中一个,然后closures并重新打开菜单,焦点仍然在那里。 我如何摆脱它? 我正在清理并重新创buildonPrepareOptionsMenu的菜单(因为我必须将其调整为当前的活动状态)。 编辑: public boolean onPrepareOptionsMenu(Menu menu){ menu.clear(); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.my_menu, menu); return true; }

为什么ActionbarSharelock即使有空间也只显示溢出图标

即使在标题中有空间,我仍然坚持在ABS中菜单项的可见性。 事情是我有不同大小的设备testing,但在每种情况下,我只能看到一个,这是溢出菜单。 我正在使用onPrepareOptionsMenu来pipe理我的菜单为dynamic,这是完美的工作(但不知道可能是这个问题发生onPrepareOptionsMenu或其他一些原因)。 查看差异: 第一种方法我已经编程创build菜单,并使用setShowAsAction()设置可见性。 某处我发现了setShowAsActionflag()也是,我也尝试过。 但在这种情况下,我不能在small screen 320*480看到溢出菜单。 所以,这是我的问题在编程方式。 这是我的代码 @Override public boolean onPrepareOptionsMenu(Menu menu) { // TODO Auto-generated method stu // TO Remove older menu otherwise that will apped menu each time. menu.clear(); menu.add(Menu.NONE, MENU_SEARCH, Menu.NONE, "Search").setIcon(R.drawable.ic_search).setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT); menu.add(Menu.NONE, MENU_SETTING, Menu.NONE, "Settings").setIcon(R.drawable.ic_action_settings) .setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT); if (is_session_exist == 1) { menu.add(Menu.NONE, MENU_CHANGE_LOGIN, […]

选项菜单animation

我怎么能给这样一个幻灯片animation: <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="1000" android:fromYDelta="0" android:toYDelta="100%" /> </set> 为“选项菜单”打开。喜欢这个animation:

“没有键盘的ID 0” – 这是什么意思?

每当我的Options菜单打开(onCreateOptionsMenu(..)被调用),我得到这些警告: “没有键盘为id 0” 和 “使用默认keyMap:/system/usr/keychars/qwerty.kcm.bin” 我找不到他们的意思,有人知道吗? 我不喜欢这个答案 。 以下是我正在使用的简单代码: @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); getMenuInflater().inflate(R.menu.optmenu_start, menu); return true; } 和optmenu_start.xml: <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/optmenu_prefs" android:title="@string/optmenu_prefs" android:icon="@drawable/icon_menu_prefs" /> <item android:id="@+id/optmenu_help" android:title="@string/optmenu_help" android:icon="@drawable/icon_menu_help" /> </menu>

Android – 刷新选项菜单不调用invalidateOptionsMenu()

Android开发人员你好, 我看到很多关于选项菜单更新的问题。 但是,每个答案都说我必须调用invalidateOptionsMenu() 。 我的问题是,是否有任何其他方式更新选项菜单,而无需调用invalidateOptionsMenu()方法?

Android的ActionBar重新创build选项菜单

在Android中使用ActionBar时,如何刷新选项菜单? 我试图隐藏和显示栏,一起获取它的新实例“getSupportActionBar()” 我正试图实现一个login/注销button,将根据用户的状态dynamic变化。 这是我的onCreateOptionsMenu方法 @Override public boolean onCreateOptionsMenu(Menu menu) { if (loggedIn) menu.add(0, MENU2, 0, "Logout").setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); else menu.add(0, MENU2, 0, "Login").setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); menu.add(0, MENU1, 0, "Home").setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); return super.onCreateOptionsMenu(menu); } 谢谢!

当选项菜单创build完成时callback

我需要确保选项菜单已经创build之前,我运行一个访问其中一个菜单项的代码。 有没有一个callback,或者我怎么能实现一个? 在活动的onResume()上是否有任何保证菜单已经创build?

openOptionsMenu()在appcompat-v7 22.1.0或更新版本中不起作用

我已经看到了几个问题的报告,其中openOptionsMenu()不适用于各种Android版本,例如: openOptionsMenu()跨Android版本 openOptionsMenu()不起作用 但我所看到的问题似乎与正在使用的appcompat-v7支持库的版本有关。 从本质上讲,对于新版本的appcompat-v7,如果您的活动扩展了Activity ,将会调用openOptionsMenu(),但如果扩展ActionBarActivity或AppCompatActivity (即使用兼容性库),将无法正常工作。 在旧版本的appcompat-v7中,它工作正常。 它是可重复的,如下所示: 在Android Studio中,导入示例“ActionBarCompat-Basic” 在屏幕上添加一个button,调用openOptionsMenu() 请注意,这可以正常工作,因为示例中使用了旧版本的库,appcompat-v7:21.0.3 改变依赖使用appcompat-v7:23.0.1,重build,当点击button时,菜单不会出现。 更改主要活动来扩展活动(即没有应用程序兼容性) – 它的工作原理 更改主要活动以扩展AppCompatActivity(即使用应用程序兼容性libarry) – 失败 经过一些testing,我发现这停止了在appcompat-v7:22.1.0中的工作,并将不再在此jar的任何新版本中工作。 在模拟器和物理设备上,以及在我testing的两个版本的Android版本5.1.1(23)和2.1(7)上,这种行为是相同的。 我已经添加了这个bug的评论: Android的问题跟踪器的错误 任何build议,意见或解决方法赞赏! 史蒂夫

Android中的Option Menu和Panel Menu有什么区别?

我刚刚创build了一个面板菜单错误的Eclipse的自动完成,并没有意识到之前,我读我的代码。 因为我想要一个选项菜单,所以我没有看到显示的细微差别,所以有人知道这两个菜单之间有什么区别? 使用其中一种还是有优点或缺点? 我看到的唯一区别是(虽然我没有详细说明): public boolean onCreateOptionsMenu(Menu menu) 要么 public boolean onCreatePanelMenu(int featureId, Menu menu) 谢谢(这不应该是一个赏金?)