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

来源:互联网 发布:2016淘宝618报名入口 编辑:程序博客网 时间:2024/04/30 22:24
一、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 0