当用户打开/关闭ActionBar的溢出菜单(三个点)时我想听,就像这样:
void onOverflowMenu(boolean expanded) {
}
Run Code Online (Sandbox Code Playgroud)
为了处理打开的案例,我尝试过onPrepareOptionsMenu(),但是在构造ActionBar或invalidateOptionsMenu()调用它时会触发它.这不是我想要的.
如果用户选择菜单项,我能够检测到溢出菜单已关闭onMenuItemSelected().但是如果用户通过点击外部菜单,按后退键以及所有其他情况关闭溢出菜单,我也想检测它.
有没有办法实现呢?
在我的Android应用程序中,我想收集关于溢出(三个点)操作栏菜单何时(多久)打开和关闭(没有选择项目)的统计信息.对于这个任务,我有一个覆盖onMenuOpened和onPanelClosed方法Activity.但是,在所有设备上(Android 4.4,4.2;三星和HTC)我已经尝试过这个,到目前为止这些方法都会被触发两次,每次打开和关闭菜单.这是一个错误吗?还有另一种监控此菜单打开和关闭的方法吗?
我正在尝试创建一个自定义弹出菜单,我想在操作栏的溢出菜单按钮上定位(如果重要的话,我正在使用Toolbarwith setSupportActionBar()for this).我发现这可以通过setAnchorView()(从" 溢出"菜单中读取" 自定义菜单"项)来完成.
但是,我似乎无法弄清楚如何检索溢出菜单作为一个视图(我可以用来设置锚点).
此外,我尝试将此锚定到活动本身的父布局,但它显示在左上方,菜单的高度等于操作栏的高度(这不是很有用).
有谁知道如何实现这一目标?
android popupmenu android-menu android-actionbar overflow-menu
我想在长按文本视图的同时呈现自定义操作栏.我的菜单有超过5个项目,导致某些项目出现在溢出菜单下.
当我按下溢出图标时,操作栏被破坏,我无法选择溢出内的任何项目.
ActionMode.Callback mActionModeCallback = new ActionMode.Callback() {
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
MenuInflater inflater = mode.getMenuInflater();
inflater.inflate(R.menu.add_rule_menu, menu);
return true;
}
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
for (int i = 0; i < menu.size(); i++) {
MenuItem item = menu.getItem(i);
if (!mOptionsList.contains(item.getItemId()))
item.setVisible(false);
}
return false;
}
// Clicking on overflow button does not trigger this method at all.
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {
// Rest of the code
} …Run Code Online (Sandbox Code Playgroud) 请帮我理解。我在某处读到说,如果我设置了 android:targetSdkVersion="14。这些 3 点将消失。
为什么这些 3 点仍然出现在我的上?
他们不会出现,直到我从另一项活动回来。我从另一个活动回来后按下菜单键,他们出现了......
我正在使用操作栏菜单,所以我的应用程序上不需要这些丑陋的 3 点。
我怎样才能完全删除它们?
谢谢
显现:
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="19" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/MyAppActionBarTheme" >
Run Code Online (Sandbox Code Playgroud)
主要活动:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the actionbar menu; this adds items to the action bar.
getMenuInflater().inflate(R.menu.actionbar_menu, menu);
return super.onCreateOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud) 我刚创建了一个应用程序,包括新的Android工具栏.我的问题是:如何隐藏这个溢出菜单图标/按钮:http://prntscr.com/62mmus?我已经尝试过了,但它不起作用:
Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar);
mToolbar.hideOverflowMenu();
Run Code Online (Sandbox Code Playgroud) 有没有办法在android溢出菜单中更改复选框的颜色.
我的当前复选框是这样的:
<item android:title="Completed"
android:checked="false"
android:checkable="true"
android:id="@+id/completed"
>
</item>
Run Code Online (Sandbox Code Playgroud) 美好的一天,我正在尝试使用Android默认3垂直点图标.同时在sdk资源搜索和谷歌搜索整天我没有找到任何帮助.你能告诉我什么甚至3点至少调用android和如何使用它?
我有与这些线程完全相同的问题:
没有人提供解决方案,所以我想再提起一个.
我有一个xml文件my_menu.xml,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/delete"
android:showAsAction="ifRoom|withText"
android:icon="@drawable/ic_delete_image"
android:title="delete"/>
</menu>
Run Code Online (Sandbox Code Playgroud)
我的活动扩展了ActionBarActivity并实现了这些方法:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.my_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.delete:
//delete something
break;
}
return(true);
}
Run Code Online (Sandbox Code Playgroud)
在我的书中:"ifRoom的值意味着如果有空间,菜单项将出现在操作栏中" - 我已经测试过使用ifRoom,ifRoom | withText和always,但该项总是在溢出中结束菜单.我已经在不同的设备上测试了应用程序,而且它有足够的空间.有人有解决方案吗?
汉克
我在android中使用actionbar,但它没有显示overflowbar.i我正在尝试作为教程,但它不工作,虽然我做了同样的错误?我只是想要显示和其他溢出的东西.这是menue codei我正在使用actionbar在Android但它没有显示overflowbar.i尝试作为教程,但它不工作,虽然我做了同样的错误?我只是想要显示和其他溢出的家.这是menue代码
<item android:id="@+id/Homebar"
android:title="Home"
android:orderInCategory="1"
android:showAsAction="ifRoom"
/>
<item android:id="@+id/infobar"
android:title="Info"
android:orderInCategory="2"
android:showAsAction="ifRoom"
/>
<item android:id="@+id/servicebar"
android:title="Services"
android:orderInCategory="2"
android:showAsAction="ifRoom"
/>
<item android:id="@+id/onlinetoolsbar"
android:title="Online tools"
android:orderInCategory="2"
android:showAsAction="ifRoom"
/>
<item android:id="@+id/mediacenterbar"
android:title="Media center"
android:orderInCategory="2"
android:showAsAction="ifRoom"
/>
Run Code Online (Sandbox Code Playgroud)
嗨,我正在开发示例Android应用程序,我试图在操作栏中显示菜单项.但即使只有单个菜单项,我的操作栏也会显示溢出菜单.它没有在操作栏中显示我的菜单项图像.我已经按照以下方式实现了这一点
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:compat="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.samplechromiapp.MainActivity" >
<item
android:id="@+id/categories"
android:icon="@drawable/navigation_collapse"
android:showAsAction="ifRoom|withText"
android:title="Categories"
android:visible="true"
/>
</menu>
Run Code Online (Sandbox Code Playgroud)
我做错了吗?需要一些帮助.谢谢.
android ×12
overflow-menu ×12
android-menu ×1
checkbox ×1
icons ×1
menuitem ×1
popupmenu ×1
textview ×1