Android原生创建菜单

  首先,需要在res目录下创建一个名为menu的文件夹(名字随意),在文件夹中创建一个名为main.xml的xml文件;

在xml文件里写如下代码,可自定义:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/add_item" android:title="登陆个人中心"></item>
    <item android:id="@+id/add_photograph" android:title="拍照(Photograph)"></item>
    <item android:id="@+id/add_cancel" android:title="取消(Cancel)"></item>
    <item android:id="@+id/add_exit" android:title="退出(EXIT)"></item>
</menu>
然后需要在你所想展示的Activity中重写是否允许展示菜单的方法onCreateOptionsMenu()方法和菜单响应事件方法onOptionsItemSelected()方法

/*通过getMenuInflater()方法能够得到MenuInflater对象,在调用它的inflate方法就可以给当前活动(Activity)创建菜单了
inflate方法传递两个参数;第一个参数是资源文件,用来创建菜单,第二个参数用于指定我们的菜单项将添加到哪一个Menu对象当中
返回true代表允许创建的菜单显示出来,返回false创建的菜单将无法显示*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main,menu);
    return true;
}

//菜单响应事件(也说点击事件)
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    //获取到main.xml中的控件id,通过switch进行判断点击,在点击事件里写对应的逻辑代码
    switch (item.getItemId()){
        case R.id.add_item:
            showShortToast(HomActivity.this,"You clicked 个人中心按钮");
            break;

        case R.id.add_photograph:
            Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
            startActivity(intent);
            break;

        case R.id.add_cancel:
            showShortToast(HomActivity.this,"You clicked 取消");
            break;
        
        case R.id.add_exit:
            showShortToast(HomActivity.this,"你点击了退出");
            ActivityCollector.finishAll();
            break;
    }
    return true;
}
  
然后就可以出现以下效果

猜你喜欢

转载自blog.csdn.net/zjc_null/article/details/78986123
今日推荐