zoukankan      html  css  js  c++  java
  • 解决Toolbar中的Menu不显示图片的问题


    1.在Toolbar所在的Activity中使用
    setSupportActionBar(mToolbar)方法设置ActionBar为当前的Toolbar
    /**
    * 使用该方法的注意事项(多次遇到的坑):
    * 1.设置toolbar的显示UI一定要在setSupportActionBar之前设置,否则不会显示。
    * 例如:mToolbar.setTitle("这是toolbar主标题");
    * 2.toolbar的监听一定要写在setSupportActionBar的下面,否则不会触发事件。
    * 3.mToolbar.inflateMenu(R.menu.toolbar)使用该方法不会显示菜单选项,需要在activity中重写
    * onCreateOptionsMenu方法,在该方法中使用getMenuInflater().inflate(R.menu.toolbar, menu)
    * 加载menu,才会显示。
    */
    setSupportActionBar(mToolbar);

    2.在本类中重
    onCreateOptionsMenu(Menu menu)方法加载menu代码如下:

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.toolbar, menu);
    return super.onCreateOptionsMenu(menu);
    }

    3.在本类中重写
    onPrepareOptionsPanel(View view, Menu menu)在该方法中使用反射显示图片,代码如下:
    @Override
    protected boolean onPrepareOptionsPanel(View view, Menu menu) {
    if (menu != null) {
    if (menu.getClass() == MenuBuilder.class) {
    try {
    Method m = menu.getClass().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE);
    m.setAccessible(true);
    m.invoke(menu, true);
    } catch (Exception e) {
    }
    }
    }
    return super.onPrepareOptionsPanel(view, menu);
    }
     
     
    
    
  • 相关阅读:
    Windows API 的数据类型与 Delphi 数据类型对照表
    Delphi 编译错误信息表
    Delphi中的容器类
    Delphi 快捷键
    代码折叠
    [转]Delphi中record的使用
    [转]常用公共函数单元
    Delphi 运行时错误信息表
    C#调用Win32 的API函数User32.dll
    [转]Delphi程序启动参数的读取
  • 原文地址:https://www.cnblogs.com/lyh1299259684/p/6795223.html
Copyright © 2011-2022 走看看