Android开发_记事本(5)

菜单栏

在res目录下新建文件夹 menu,并在该目录下

新建main_menu.xml

若要在栏里面加图片则需要引入drawable中的东西

新建矢量图菜单栏按钮


再新建主页面删除所有按钮和编辑界面的删除当前笔记的按钮

<?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旁边有一个可以返回主界面的返回按钮

想把主界面左上角的返回按钮换为菜单栏

在MainActivity中toolbar三条语句后写入:

//状态栏相关
setSupportActionBar(myToolbar);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);          //设置toolbar取代actionbar(自定义的工具栏代替原本的活动栏

myToolbar.setNavigationIcon(R.drawable.ic_menu_black_24dp);//设置toolbar图标

此时代码左侧还会提示设置的图案是什么东西

image-20230409114810719

效果:

接下来实现编辑框返回键的功能

在EditActivity中toolbar三条语句后加入

myToolbar.setNavigationOnClickListener(new View.OnClickListener(){
    public void onClick(View v){
        autoSetMessage();       //根据mode值判断返回什么东西
        setResult(RESULT_OK,intent);
        finish();               //结束当前Activity,回到MainActivity
    }
});

实现了按钮返回

posted @ 2023-04-10 19:29  张少春02  阅读(30)  评论(0编辑  收藏  举报
Title