Android中关于menu(菜单)的创建与使用

一、menu中item的三个常用属性:
1.设置属性showAsAction主要是针对菜单的显示起作用的,它有三个可选项
always:总是显示在界面上
never:不显示在界面上,只让出现在右边的三个点中
ifRoom:如果有位置才显示,不然就出现在右边的三个点中
2.属性orderInCategory设置优先级,值越大优先级越低
3.属性title是设置标题显示的内容


二、menu的创建步骤:
1.在res文件的根目录下新建一个menu文件夹
2.在menu文件夹下新建一个.xml
3.在.xml中定义添加自己想要的item及其属性
4.activity中设置menu的使用。


三、代码及示例:

MainActivity.java

package com.zhiyuan3g.myrecycleview;

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

import com.zhiyuan3g.myrecycleview.bean.DataBean;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    private RecyclerView recyclerview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        //加载布局,使用菜单特有方法getMenInfater,或Inflate对象
        //参数:1.菜单显示的布局  2.固定menu
        getMenuInflater().inflate(R.menu.menu_main,menu);
        return true;
    }

    //在每个if条件下填充相应的操作代码
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int itemId = item.getItemId();
        if (itemId == R.id.action_list_normal) {
            //标准显示
             Toast.makeText(getApplicationContext(), "标准显示", Toast.LENGTH_SHORT).show();

            return true;
        } else if (itemId == R.id.action_list_vertical_reverse) {

            //垂直反向显示
        } else if (itemId == R.id.action_list_horizontal) {

            //水平显示
        } else if (itemId == R.id.action_list_horizontal_reverse) {
            //水平反向显示

        }
        return super.onOptionsItemSelected(item);
    }

}

menu_mian.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/action_list"
        android:orderInCategory="100"
        android:title="list显示"
        app:showAsAction="never">
        <menu>
            <item
                android:id="@+id/action_list_normal"
                android:orderInCategory="100"
                android:title="标准"
                app:showAsAction="never"/>
            <item
                android:id="@+id/action_list_vertical_reverse"
                android:orderInCategory="100"
                android:title="垂直反向"
                app:showAsAction="never"/>
            <item
                android:id="@+id/action_list_horizontal"
                android:orderInCategory="100"
                android:title="水平"
                app:showAsAction="never"/>
            <item
                android:id="@+id/action_list_horizontal_reverse"
                android:orderInCategory="100"
                android:title="水平反向"
                app:showAsAction="never"/>

        </menu>
    </item>
</menu>


效果图:










  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值