如何控制菜单在工具栏中的位置 Android
How to Control Menu Position in Toolbar Android
我想在 android xml 代码中更改膨胀菜单项的重力,但我找不到任何属性来解决问题。 我想要 left
边的一件物品和 Toolbar
角的 right
边的另一件物品。
大家有什么想法吗?
这是我现在的状态:
这是我的菜单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>
好吧,您必须制作自定义布局,然后将其附加到您的应用栏!
你可以在这里查看
link1
link2
在您的 activity
中为应用栏制作自定义布局
对 dismiss
项使用 Toolbar
导航 item
(LEFT
),对 saveNote
使用选项 menu
(RIGHT
) ]项。
关闭:
You can use Toolbar
navigation item
as dismiss
action. Set
close
icon as Toolbar
navigation icon by using
Toolbar.setNavigationIcon()
. To handle the click
event, add
NavigationOnClickListener
to Toolbar
.
保存注意:
Inflate menu
XML to Toolbar
using Toolbar.inflateMenu()
. To
handle saveNote
item click
event, add OnMenuItemClickListener
to
Toolbar
.
按照以下步骤操作:
1. 从 menu
XML.
中删除 dismiss
项
// 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. 在您的 activity 中,对 dismiss
和 saveNote
操作进行以下更改。
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("Whosebug");
// 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 xml 代码中更改膨胀菜单项的重力,但我找不到任何属性来解决问题。 我想要 left
边的一件物品和 Toolbar
角的 right
边的另一件物品。
大家有什么想法吗?
这是我现在的状态:
这是我的菜单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>
好吧,您必须制作自定义布局,然后将其附加到您的应用栏! 你可以在这里查看
link1 link2
在您的 activity
中为应用栏制作自定义布局对 dismiss
项使用 Toolbar
导航 item
(LEFT
),对 saveNote
使用选项 menu
(RIGHT
) ]项。
关闭:
You can use
Toolbar
navigationitem
asdismiss
action. Setclose
icon asToolbar
navigation icon by usingToolbar.setNavigationIcon()
. To handle theclick
event, addNavigationOnClickListener
toToolbar
.
保存注意:
Inflate
menu
XML toToolbar
usingToolbar.inflateMenu()
. To handlesaveNote
itemclick
event, addOnMenuItemClickListener
toToolbar
.
按照以下步骤操作:
1. 从 menu
XML.
dismiss
项
// 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. 在您的 activity 中,对 dismiss
和 saveNote
操作进行以下更改。
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("Whosebug");
// 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;
}
});
.............
.......................
}
}
输出:
希望对你有所帮助~