如何控制 Android 工具栏中的菜单位置 [英] How to Control Menu Position in Toolbar Android
问题描述
我想在 android xml 代码中更改我膨胀的菜单项的重力,但我找不到任何属性来解决问题.我想要左侧
边的一个项目和工具栏
角落右侧
边的另一个项目.
I want to change the gravity of my inflated menu item in android xml code but i could not find any attribute to solve the problem. i want an item in the left
side and another item in right
side of corner in Toolbar
.
你们有什么想法吗?
这是我目前的状态:
这是我的菜单 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/dismis"
android:icon="@drawable/close"
android:title="Done"
app:showAsAction="always"></item>
<item
android:id="@+id/saveNote"
android:icon="@drawable/save"
android:title="Done"
app:showAsAction="always"></item>
</menu>
推荐答案
Use Toolbar
navigation item
(LEFT
) for dismiss
项目和选项 menu
(RIGHT
) 用于 saveNote
项目.
Use Toolbar
navigation item
(LEFT
) for dismiss
item and option menu
(RIGHT
) for saveNote
item.
关闭:
您可以使用 Toolbar
导航 item
作为 dismiss
操作.放close
图标作为 Toolbar
导航图标使用Toolbar.setNavigationIcon()
.要处理 click
事件,请添加NavigationOnClickListener
到 Toolbar
.
You can use
Toolbar
navigationitem
asdismiss
action. Setclose
icon asToolbar
navigation icon by usingToolbar.setNavigationIcon()
. To handle theclick
event, addNavigationOnClickListener
toToolbar
.
保存注意:
使用 Toolbar.inflateMenu()
将 menu
XML 膨胀到 Toolbar
.到处理saveNote
item click
事件,添加OnMenuItemClickListener
工具栏
.
Inflate
menu
XML toToolbar
usingToolbar.inflateMenu()
. To handlesaveNote
itemclick
event, addOnMenuItemClickListener
toToolbar
.
按照以下步骤操作:
1. 从 menu
XML 中删除 dismiss
项目.
1. Remove dismiss
item from menu
XML.
// menu_main.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/saveNote"
android:icon="@drawable/save"
android:title="Done"
app:showAsAction="always">
</item>
</menu>
2. 在您的活动中,对 dismiss
和 saveNote
操作进行以下更改.
2. In your activity, do below changes for dismiss
and saveNote
actions.
public class MainActivity extends AppCompatActivity {
// ToolBar
Toolbar mToolBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...........
.....................
// ToolBar
mToolBar = (Toolbar) findViewById(R.id.toolbar);
// Required to use Toolbar as ActionBar
setSupportActionBar(mToolBar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle("StackOverflow");
// Dismiss Action
mToolBar.setNavigationIcon(R.drawable.close);
mToolBar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Do something
Toast.makeText(getApplicationContext(), "Dismiss", Toast.LENGTH_SHORT).show();
}
});
// SaveNote Action
mToolBar.inflateMenu(R.menu.menu_main);
mToolBar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
if (item.getItemId() == R.id.saveNote)
{
// Do something
Toast.makeText(getApplicationContext(), "Save", Toast.LENGTH_SHORT).show();
}
return true;
}
});
.............
.......................
}
}
输出:
希望能帮到你~
这篇关于如何控制 Android 工具栏中的菜单位置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!