窗口回调onMenuOpened和onPanelClosed,用于使用工具栏放大的菜单

时间:2019-06-16 21:12:10

标签: java android android-fragments android-viewpager android-menu

我在活动中使用视图寻呼机来显示一些片段。每个片段都有一个带有单独菜单选项的单独工具栏。

实施:

toolbar.inflateMenu(R.menu.my_xyz_menu_options); 工具栏.setOnMenuItemClickListener(this :: onMenuOptionsItemSelected);

使用单个片段,使用setHasOptionsMenu(true)并从函数创建菜单: onCreateOptionsMenu(@NonNull菜单菜单,@NonNull MenuInflater充气器) 并设置setSupportActionBar(myToolbar)帮助我从活动功能onMenuOpened(int featureId,Menu menu)和onPanelClosed(int featureId,@NonNull Menu menu)撤回呼叫

但是,仅将view-pager的偏移量限制设置为1会导致此解决方案出现问题。

需要使用我的工具栏菜单获取onMenuOpened(int featureId,Menu menu)和onPanelClosed(int featureId,@NonNull Menu menu)回调的方法

1 个答案:

答案 0 :(得分:0)

对问题中描述的单个片段使用了相同的实现,并在换页后的片段中进行了修改:

<svg id="shell-svg" height="0" width="0" style="position:absolute;pointer-events:none">
  <defs>
    <filter id="shapeshift" color-interpolation-filters="sRGB" x="0%" y="0%" height="100%" width="100%">
      <feColorMatrix id="mat" type="matrix">
        <animate 
          attributeType="XML" 
          id="fe1"
          attributeName="values" 
          dur="4s"
          repeatCount="indefinite"
          values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0;0.8 0 0.04 0.04 0 0 0.8 0 0 0 0 0 0.8 0 0 0 -2 0 1 0;1 -0.6 0.7 0.9 0 0 1.2 0 0 0 0 0 1 0 0 0 0 0 0.4 0;1 0.2 0 0 0 0 1 0 0 0 0 0 1 0 0 -2.6 0 0 1 0;1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"
          keyTimes="0;0.5;0.75;0.85;1"
          begin="0s"/>      
      </feColorMatrix>
    </filter> 
  </defs>
</svg>
<div id="shell-bg" class="filtered"></div>

然而,这有时会由于在滚动页面的位置不显示菜单而变得很糟糕。