Android:RTL ActionBar 菜单项

Android: RTL ActionBar Menu Items

我正在使用 ActionBarRTLizer 使 Home ButtonMenuItem 从右到左而不是从左到右,我让它在 MainActivity 一切都很好,除了当我使用 Fragment Transaction 打开 Fragment 时 ActionBar returns 到它的默认状态(LTR)。

所以我尝试 @Override 片段中的 onPrepareOptionsMenu() 但它没有用。 ActionBar 刚刚搞砸了。(见下面的截图

有人知道如何处理吗?

提前致谢

已编辑:

这是 MainActivity 中的onCreateOptionsMenu

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

        ActionBarRtlizer rtlizer = new ActionBarRtlizer(this);
        ViewGroup homeView = (ViewGroup) rtlizer.getHomeView();

        RtlizeEverything.rtlize(rtlizer.getActionBarView());

        if (rtlizer.getHomeViewContainer() instanceof ViewGroup) {
            RtlizeEverything.rtlize((ViewGroup) rtlizer.getHomeViewContainer());
        }

        RtlizeEverything.rtlize(homeView);
        rtlizer.flipActionBarUpIconIfAvailable(homeView);

        return true;
    }

这是片段中重写的 onPrepareOptionsMenu:

@Override
    public void onPrepareOptionsMenu(Menu menu) {
        getActivity().getMenuInflater().inflate(R.menu.main, menu);
        ActionBarRtlizer rtlizer = new ActionBarRtlizer(getActivity());
        ViewGroup homeView = (ViewGroup) rtlizer.getHomeView();

        RtlizeEverything.rtlize(rtlizer.getActionBarView());

        if (rtlizer.getHomeViewContainer() instanceof ViewGroup) {
            RtlizeEverything.rtlize((ViewGroup) rtlizer.getHomeViewContainer());
        }

        RtlizeEverything.rtlize(homeView);
        rtlizer.flipActionBarUpIconIfAvailable(homeView);
        if(radioPlayer.isPlaying()){
            menu.findItem(R.id.action_live_stream).setIcon(R.drawable.ic_action_stop);
        }
    }

这是我打开一个片段后的样子:

请尝试覆盖 onPrepareOptionsMenu 并将所有代码行放在 getMenuInflater().inflate(R.menu.main, menu); 之后在其中