(小白备忘)

使用平台Android Studio,类似微信右上角加号的折叠菜单项。

第一步:

1.创建菜单配置文件。在res目录下新建layout同级目录文件夹命名为menu,再右击New,点击:menu resource file,新建menu的xml文件。

2.在配置文件里写入内容:

<?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/about"
        android:orderInCategory="100"
        app:showAsAction="never"
        android:title="关于">
    </item>
    <item
        android:id="@+id/exit"
        android:orderInCategory="100"
        app:showAsAction="never"
        android:title="退出">
    </item>


</menu>

PS:这里可能会遇到一个问题,就是如果写android:showAsAction="never"会报错,这个时候需要如上,加一句xmlns:app=http://schemas.android.com/apk/res-auto,再把下面的android换成app,即app:showAsAction="never"(这里app只是一个名字,可以是任意一个代名词,但是两处要用的一样。)


第二步:

在activity中写入调用menu和item的点击事件。如:

public class ShareActivity extends AppCompatActivity {


    @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        //新建的xml文件
        getMenuInflater().inflate(R.menu.popup_menu, menu);
        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item)
    {
        //根据不同的id点击不同按钮控制activity需要做的事件
        switch (item.getItemId())
        {
            case R.id. about:
                //事件
                Toast.makeText(ShareActivity.this, "您单击了【"+item.getTitle()+"】菜单项",Toast.LENGTH_SHORT).show();
                break;
            case R.id. exit:
                Toast.makeText(ShareActivity.this, "您单击了【"+item.getTitle()+"】菜单项",Toast.LENGTH_SHORT).show();
                //事件
                break;
        }
        return true;
    }