我想改变 android xml 代码中膨胀菜单项的重力,但我找不到任何属性来解决问题。我想要其中的一个项目left
侧面和另一个项目right
角的一侧在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
导航item
(LEFT
) for dismiss
项目和选项menu
(RIGHT
) for saveNote
item.
Dismiss:
您可以使用Toolbar
导航item
as dismiss
行动。放close
图标为Toolbar
导航图标使用Toolbar.setNavigationIcon()
。为了处理click
事件,添加NavigationOnClickListener
to Toolbar
.
保存注意:
Inflate menu
XML to Toolbar
using Toolbar.inflateMenu()
。到
处理saveNote
item click
事件,添加OnMenuItemClickListener
to
Toolbar
.
请按照以下步骤操作:
1. Remove dismiss
项目来自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
and 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("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;
}
});
.............
.......................
}
}
OUTPUT:
希望这会有所帮助~
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)