如何在Android中单击actionbar中的按钮时显示下拉菜单
我的操作栏中有两个按钮,即:注销和编辑配置文件。当我单击编辑配置文件时,我想显示下拉菜单,但我不知道如何显示。请帮忙。提前谢谢如何在Android中单击actionbar中的按钮时显示下拉菜单,android,android-actionbar,dropdown,Android,Android Actionbar,Dropdown,我的操作栏中有两个按钮,即:注销和编辑配置文件。当我单击编辑配置文件时,我想显示下拉菜单,但我不知道如何显示。请帮忙。提前谢谢 public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()) { case R.id.action_logout: AlertDialog.Builder builder=new AlertDialog.Builder(
public boolean onOptionsItemSelected(MenuItem item)
{
switch(item.getItemId())
{
case R.id.action_logout:
AlertDialog.Builder builder=new AlertDialog.Builder(AdminHome.this);
builder.setMessage("Are you sure you want to logout?")
.setPositiveButton("Logout", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
new Logs().execute();
finish();
Intent in=new Intent(AdminHome.this, MainActivity.class);
startActivity(in);
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which)
{
}
})
.show();
return true;
case R.id.edituser:
//WHAT TO PUT IN HERE
return true;
}
return super.onOptionsItemSelected(item);
}
只需创建菜单项并单击它即可应用
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_item_action_parameters"
android:title="@string/text_parameters"
android:icon="@drawable/ic_menu_parameter"
app:showAsAction="ifRoom|withText"/> >
<menu>
<item
android:id="@+id/action_dropdown1"
android:title="@string/dropdown_1" />
<item
android:id="@+id/action_dropdown2"
android:title="@string/dropdown2" />
<item
android:id="@+id/action_dropdown3"
android:title="@string/dropdown3" />
</menu>
</item>
<item
more item
</item>
</menu>
这样做,您的菜单xml应该是这样的:要在Actionbar或工具栏上显示的项目应该放在父菜单标记中,而子菜单项目(当edituser被点击时将显示在下拉菜单中)应该放在另一个菜单标记中:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/action_logout"
android:icon="@drawable/action_logout"
android:title="@string/action_logout"
android:showAsAction="always" >
<item android:id="@+id/edituser"
android:icon="@drawable/edituser"
android:title="@string/edituser"
android:showAsAction="always" >
<menu>
<item android:id="@+id/item1"
android:icon="@drawable/ic_launcher"
android:title="@string/item1"
android:showAsAction="never"
/>
<item android:id="@+id/item2"
android:icon="@drawable/ic_launcher"
android:title="@string/item2"
android:showAsAction="never" />
<item android:id="@+id/item3"
android:icon="@drawable/ic_launcher"
android:title="@string/item3"
android:showAsAction="never"/>
<item android:id="@+id/item4"
android:icon="@drawable/ic_launcher"
android:title="@string/item4"
android:showAsAction="never" />
</menu>
</item>
</menu>
我希望我的回答很清楚。希望它能对您有所帮助。下面是示例menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_logout"
android:icon="@drawable/logout"
android:title="Logout"
app:showAsAction="always"
android:orderInCategory="1" />
<item
android:id="@+id/action_edtprofile"
android:icon="@drawable/edtProfile"
android:title="Edit Profile"
app:showAsAction="always"
android:orderInCategory="0">
<menu>
<group>
<item
android:id="@+id/action_dropdown_item1"
android:title="dropdown_item1" />
<item
android:id="@+id/action_dropdown_item2"
android:title="dropdown_item2" />
<item
android:id="@+id/action_dropdown_item3"
android:title="dropdown_item3" />
</group>
</menu>
</item>
单击编辑配置文件后,将显示一个下拉菜单,使用id u可以执行该操作。但我不知道如何以及如何在课堂上调用它?请参阅我的更新答案,并在单击项目时调用此方法
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_logout"
android:icon="@drawable/logout"
android:title="Logout"
app:showAsAction="always"
android:orderInCategory="1" />
<item
android:id="@+id/action_edtprofile"
android:icon="@drawable/edtProfile"
android:title="Edit Profile"
app:showAsAction="always"
android:orderInCategory="0">
<menu>
<group>
<item
android:id="@+id/action_dropdown_item1"
android:title="dropdown_item1" />
<item
android:id="@+id/action_dropdown_item2"
android:title="dropdown_item2" />
<item
android:id="@+id/action_dropdown_item3"
android:title="dropdown_item3" />
</group>
</menu>
</item>