Articles of android menu

Android将菜单项对齐到操作栏中的左侧

我的应用程序中有操作栏,显示我的res/menu/activity_main.xml定义的菜单项 我的菜单项在操作栏上对齐。 我希望它们与左边对齐。 我find的解决方案只有这个使用过的自定义操作栏,如下所示: 在Honeycomb的ActionBar左侧定位菜单项 但是, 我不想为我的菜单创建自定义布局 。 我想使用从res/menu/activity_main.xml生成的默认菜单项。 这可能吗?

如何在MenuItem上设置长按一下监听器(在NavigationView上)?

如何在MenuItem上设置长按监听器? 我试过这个答案 ,但这个方法对我来说并不存在。 有解决方案? 码: Menu menu = navigationView.getMenu(); MenuItem menuItem = menu.findItem(R.id.menu_item); // TODO set a long click listener on the menuItem. menuItem.setOnLongClickListener(…); // Method does not exist, any other solutions? 编辑:我不想设置自定义ActionView,我想要整个MenuItem的长按监听器,没有自定义视图。

如何覆盖android中的web视图文本选择菜单

基本的android的网络文本选择菜单如下图所示。 它有复制,共享,全选,网络搜索等选项。 我想过度使用这个菜单并希望它们作为我自己的菜单列表,如“标记颜色”,“标记为imp”等。我查看有关堆栈溢出的上下文菜单的大部分问题。 大多数问题与上下文菜单有关,但没有按预期给出结果。 我想要下面的图像菜单 当我执行选择android监视器显示一些视图创建窗体viewRoot喜欢 D/ViewRootImpl: #1 mView = android.widget.PopupWindow$PopupDecorView{648898f VE….. ……I. 0,0-0,0} D/ViewRootImpl: #1 mView = android.widget.PopupWindow$PopupDecorView{a66541c VE….. ……I. 0,0-0,0} D/ViewRootImpl: MSG_RESIZED_REPORT: ci=Rect(0, 0 – 0, 0) vi=Rect(0, 0 – 0, 0) or=1 D/ViewRootImpl: MSG_RESIZED_REPORT: ci=Rect(0, 0 – 0, 0) vi=Rect(0, 0 – 0, 0) or=1 如何实现这样的实现? 我也经历了https://github.com/naoak/WebViewMarker但没有得到正确的结果。 我做了什么呢? 我扩展了Android的WebView,我想支持最小的SDK 19.当我执行长按时我得到了长按事件,但我无法获得这样的菜单创建api调用。

onCreateOptionsMenu何时在启用ActionBar的活动中发生?

我知道菜单项将被设置为ActionBar中的操作图标。 我想知道这个onCreateOptionsMenu函数,它什么时候在活动生命周期中调用。 从我的测试来看,它甚至没有在onResume之后

searchManager.getSearchableInfo(getComponentName())返回null

我已按照此Android指南操作 ,以便为活动添加搜索栏。 设置如下所示: RES /菜单/ activity_main.xml中: RES / XML / searchable.xml: 清单文件中的活动条目: 和MainActivity中的代码: @SuppressLint(“NewApi”) @Override public boolean onCreateOptionsMenu(Menu menu) { this.getMenuInflater().inflate(R.menu.activity_main, menu); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView(); SearchableInfo searchableInfo = searchManager.getSearchableInfo(getComponentName()); searchView.setSearchableInfo(searchableInfo); } return true; 对searchManager.getSearchableInfo(getComponentName());的调用searchManager.getSearchableInfo(getComponentName()); 始终返回null 。 我在stackoverflow的其他问题中已经看过这个,但是,那里提出的解决方案似乎都不适用于我的情况。 菜单XML有一个标题 可搜索的XML没有硬编码字符串 重命名菜单项不起作用 清洁和重建也不起作用 很感谢任何forms的帮助。 谢谢!

活动中的OnOptionsItemSelected在fragment中的onOptionsItemSelected之前调用。 其他方式可能吗?

我有一个活动,可以包含几个片段。 每个片段都可以在ActionBar中拥有自己的菜单条目。 到目前为止,此工作正常,每个项目都是可点击的,并执行所需的操作。 我的问题如下。 在MainActivity中,我声明了以下几行来拦截对ActionBar的HomeIcon的调用: public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: clearBackStack(); setHomeFragment(); return true; default: return super.onOptionsItemSelected(item); } } 我在Activity中声明它,因为我希望每个Fragment都应该调用它,这样我就不必捕获每个片段中的android.R.id.home情况。 在一个片段中,我使用的是setDisplayHomeAsUpEnabled(true),这样我就可以获得ActionBar图标左侧的小箭头。 当在这个片段中单击HomeIcon时,我不想设置HomeFragment,我想设置上次显示的片段。 所以我有一个onOptionsItemSelected – 片段中的方法: @Override public boolean onOptionsItemSelected(MenuItem menuItem) { switch (menuItem.getItemId()) { case android.R.id.home: setLastFragment(); return true; … 但是,这并不像我希望的那样工作。 首先调用Activity的onOptionsItemSelected,捕获MenuItem并重定向到HomeFragment。 使用在其他片段中声明的其他MenuItem,我可以检查看到相同的行为。 首先调用Activity,不捕获MenuItem(默认情况),然后重定向到super.onOptionsItemSelected(item)。 因此,Android处理菜单点击的情况似乎就是这样。 第一个活动,然后是片段。 有没有办法改变这个? 我不想把android.R.id.home-case放在每个片段中并在那里处理它。 有没有更好的方法来做到这一点?

Android Studio 3.1在“工具”菜单下未显示“android”选项

我正在使用android studio 3.1进行一些开发。 但它没有在Tools菜单下显示android选项。 而Android studio 3.0没有这个问题。 这是android studio 3.1工具菜单的截图: 看到缺少android选项。 我认为这是一些配置相关的问题,因为它在android studio 3.0中不存在。 基本上我需要Enable ADB Integration选项。 有没有办法在工具菜单中显示该选项?

如何在Android菜单项上实现动态值

我在操作栏中有一个菜单项。 与菜单项图像一起,我需要显示一些与之相关的数字,这些数字会经常变化。 我没有使用Action bar sherlock。 我不想用它。 除此之外,一切正常。 在显示的图像中,白色图标颜色图标是我的。 我需要动态生成红色背景的数字。 我怎么能在Android中这样做? 这是示例图像: 更新: 我在menu.xml中有这个菜单项。 这应该像通知菜单项一样,显示通知计数的数量。 我将菜单图标设置为, menuItem.setIcon(image); 现在,在菜单项的顶部,我需要放置一个文本视图,其中包含通知总数。 是否可以使用viewbadger实现此function? Githuburl

使用具有不同Android SDK版本的不同图标

我的Android菜单有图标。 在Android 3+上我使用的是黑色ActionBar,因此图标为白色。 但是,在Android 2.x上,菜单本身就是白色,这意味着图标几乎不可见。 如何为不同版本使用不同的菜单图标? 我假设我可以使用不同的可绘制目录,如res / drawable-mdpi-v11,但我想知道是否有另一种方式,所以我不必创建一堆不同的目录,因为我添加版本或像素密度。 编辑:我把res / drawable-mdpi和res / drawable-hdpi中的黑暗版本用于Android 2.x,我将res版本放在res / drawable-mdpi-v11和res / drawable-hdpi-v11中用于Android 3.x和更高,但我的Android 2.1(sdk 7)模拟器仍然显示轻量版本。 知道为什么吗?

在’android’包中找不到属性’showAsAction’的资源标识符

正如标题所示,我在至少3个XML布局文件中遇到了这个错误,但是,我没有在任何这些XML文件中看到attritube“showsAsAction”,我是否错过了什么或者我只是盲目?是有问题的XML文件: 此外,我使用Android 2.2(API 8)作为目标版本。 我知道“showAsAction”是在API 11中实现的,但我在这里找不到问题。 更新:问题面板显示以下错误: 生成最终存档时出错:java.io.FileNotFoundException:C:\ Users \\ Documents \ Android \ Registro de Asistencia \ bin \ resources.ap_不存在