Android使用Toolbar来添加右上角菜单

好久没写东西了,最近学到了很多东西但是也非常忙,把一些知识积累一下,先上个效果图
添加右侧菜单

很常见的一个需求,我们来看下怎么实现的,非常简单

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#fff"
    tools:context="ht.crackgmkey.com.pbtoolbar.MainActivity">

    <android.support.v7.widget.Toolbar
        android:layout_width="match_parent" android:id="@+id/toolbar"
       android:background="#3F51B5"
        android:layout_height="50dp">

        <TextView
            android:text="个人展示" android:gravity="center"
            android:layout_width="match_parent" android:textColor="#000"
            android:textSize="21sp"
            android:layout_height="match_parent" />

    </android.support.v7.widget.Toolbar>

</android.support.constraint.ConstraintLayout>

MainActivity.java

package ht.crackgmkey.com.pbtoolbar;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private Toolbar toolbar;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_main,menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()){
            case R.id.menu_1:
                Toast.makeText(this, "我是第一个", Toast.LENGTH_SHORT).show();
                break;
            case R.id.menu_2:
                Toast.makeText(this, "我是第二个", Toast.LENGTH_SHORT).show();
                break;
            case R.id.menu_3:
                Toast.makeText(this, "我是第三个", Toast.LENGTH_SHORT).show();
                break;
            case R.id.menu_4:
                Toast.makeText(this, "我是第四个", Toast.LENGTH_SHORT).show();
                break;
        }
        return true;
    }
}

别忘记在res目录下新建menu目录
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/menu_1"
        android:orderInCategory="80"
        android:title="我是第一个"
        app:showAsAction="never" />

    <item
        android:id="@+id/menu_2"
        android:orderInCategory="80"
        android:title="我是第二个"
        app:showAsAction="never" />
    <item
        android:id="@+id/menu_3"
        android:orderInCategory="80"
        android:title="我是第三个"
        app:showAsAction="never" />

    <item
        android:id="@+id/menu_4"
        android:orderInCategory="80"
        android:title="我是第四个"
        app:showAsAction="never" />
</menu>

好了 这样一个右侧菜单栏就完事了

猜你喜欢

转载自blog.csdn.net/CrackgmKey/article/details/80094720