Android开发_记事本(5)

发布时间 2023-04-10 19:32:23作者: 张少春02

菜单栏

在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
    }
 });

实现了按钮返回