Android开发_记事本(5)
菜单栏
在res目录下新建文件夹 menu,并在该目录下
新建main_menu.xml
若要在栏里面加图片则需要引入drawable中的东西
新建矢量图菜单栏按钮
再新建主页面删除所有按钮和编辑界面的删除当前笔记的按钮
main_menu
<?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/menu_clear"
android:icon="?attr/menu_delete_all"
android:title="Clear"
app:showAsAction="always"
/>
</menu>
接下来在MainActivity中引入|联系上面的menu文件
引入menu文件必备的一个function
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu,menu);//渲染一个menu获取一个对象
return super.onCreateOptionsMenu(menu);
}
edit_menu
和上面差不多
<?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/delete"
android:icon="?attr/menu_delete"
android:title="Delete"
app:showAsAction="always"
/>
</menu>
在EditActivity中同样
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.edit_menu,menu);
return super.onCreateOptionsMenu(menu);
}
此时的需求
想让编辑栏的Note旁边有一个可以返回主界面的返回按钮
想把主界面左上角的返回按钮换为菜单栏
navigation
在MainActivity中toolbar三条语句后写入:
//状态栏相关
setSupportActionBar(myToolbar);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true); //设置toolbar取代actionbar(自定义的工具栏代替原本的活动栏
myToolbar.setNavigationIcon(R.drawable.ic_menu_black_24dp);//设置toolbar图标
此时代码左侧还会提示设置的图案是什么东西
效果:
接下来实现编辑框返回键的功能
在EditActivity中toolbar三条语句后加入
myToolbar.setNavigationOnClickListener(new View.OnClickListener(){
public void onClick(View v){
autoSetMessage(); //根据mode值判断返回什么东西
setResult(RESULT_OK,intent);
finish(); //结束当前Activity,回到MainActivity
}
});
实现了按钮返回