博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android之res/menu
阅读量:4290 次
发布时间:2019-05-27

本文共 4206 字,大约阅读时间需要 14 分钟。

public class MainActivity extends AppCompatActivity {    @SuppressLint("RestrictedApi")    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);        toolbar.setTitle("aaaa");//主标题toolbar.setSubtitle("bbb");//主标题正下方的附标题toolbar.setLogo(R.drawable.ic_launcher_background);//logo                setSupportActionBar(toolbar);        getSupportActionBar().setDisplayHomeAsUpEnabled(true);//这个是显示返回箭头//toolbar.setNavigationIcon(R.mipmap.ic_launcher);//返回按钮图标//toolbar.setOnMenuItemClickListener(onMenuItemLis);//将onMenuItemClick监听者设置给toolbar        setHasOptionsMenu(true);//        //添加左边图标点击事件        toolbar.setNavigationOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                Log.e("s","dd");                finish();            }        });    }    private void setHasOptionsMenu(boolean b) {Log.e("d","ss");    }    // 创建上下文菜单时触发该方法    @Override    public void onCreateContextMenu(ContextMenu menu, View source,                                    ContextMenu.ContextMenuInfo menuInfo)    {        MenuInflater inflator = new MenuInflater(this);        //装填R.menu.context对应的菜单,并添加到menu中        inflator.inflate(R.menu.menu_main , menu);        menu.setHeaderIcon(R.drawable.ic_launcher_background);        menu.setHeaderTitle("请选择背景色");    }    // 上下文菜单中菜单项被单击时触发该方法    @Override    public boolean onContextItemSelected(MenuItem mi)    {        // 勾选该菜单项        mi.setChecked(true);  // ①        switch (mi.getItemId())        {            case  R.id.action_settings :            Log.e("s","上下文");            break;        }        return true;    }    //设置menu(右边图标)显示    @Override    public boolean onCreateOptionsMenu(Menu menu) {        getMenuInflater().inflate(R.menu.menu_main, menu); //解析menu布局文件到menu,第一中方法,使用xml定义 添加菜单项(多种方式)---第二种方法        // 1.直接指定标题        menu.add("菜单项1");        // 2.通过资源指定标题        menu.add("第二");//        // 3.显示指定菜单项的组号、ID、排序号、标题//        menu.add(//                1,  //组号//                Menu.FIRST, //唯一的ID号//                Menu.FIRST, //排序号//                "菜单项3"); //标题////        // 如果希望显示菜单,请返回true        return true;    }    //监听menu的方法一    @Override    public boolean onOptionsItemSelected(MenuItem item) {        int id = item.getItemId();        Log.e("as","setting");        if (id == R.id.action_settings) {Log.e("as","setting");            return false;        }        return super.onOptionsItemSelected(item);    }//    //toolbar上的右变的几个按妞,可以自己设置几个,加入OnMenuItemClickListener 的监听者:监听menu的方法二//private Toolbar.OnMenuItemClickListener onMenuItemLis=new Toolbar.OnMenuItemClickListener(){//    @Override//    public boolean onMenuItemClick(MenuItem menuItem) {//        String msg = "";//        switch (menuItem.getItemId()) {//            case R.id.action_settings://                msg += "Click settings";//                break;//            case R.id.action_share://                msg += "Click share";//                break;////        }////        if(!msg.equals("")) {//            Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();//        }//        return true;//    }////};    public void addClick(View v){    }}

---------menu_main.xml------------

---------------重写菜单方法----------

//菜单,点击手机上的memu按钮,就是底部中间哪个按钮    @Override    public boolean onCreateOptionsMenu(Menu menu) {//添加菜单的第一种方式//        getMenuInflater().inflate(R.menu.menu_main,menu);//第一个参数是menu文件夹中的资源        //第二种通过代码添加        menu.add(0,1,0,"前进");//第二个参数是id        menu.add(0,2,0,"前进");        return true;    }    //当我们想知道点击的是哪个菜单,需要重写下面的方法    @Override    public boolean onOptionsItemSelected(MenuItem item) {        switch (item.getItemId()){            case 1:                break;            case 2:                break;        }        return super.onOptionsItemSelected(item);    }    //当菜单打开之前调用    @Override    public boolean onMenuOpened(int featureId, Menu menu) {        //弹出自定义的对话框        return false;    }

----------menu.xml-------

转载地址:http://rvmgi.baihongyu.com/

你可能感兴趣的文章
stl 中 set容器用法
查看>>
有序数组求交集
查看>>
文字常量区与栈
查看>>
非阻塞connect 编写方法
查看>>
epoll 边沿触发
查看>>
String类 默认生成的函数
查看>>
Linux 软连接与硬链接
查看>>
视音频数据处理入门:H.264视频码流解析
查看>>
视音频数据处理入门:AAC音频码流解析
查看>>
视音频数据处理入门:UDP-RTP协议解析
查看>>
视音频数据处理入门:FLV封装格式解析
查看>>
最简单的基于FFMPEG的封装格式转换器(无编解码)
查看>>
base64 编码原理
查看>>
单链表是否有环的问题
查看>>
判断两个链表是否相交并找出交点
查看>>
归并排序
查看>>
STL常见问题
查看>>
time_wait和close_wait状态
查看>>
STL中vector、list、deque和map的区别
查看>>
Linux下多线程查看工具(pstree、ps、pstack)
查看>>