Android支持库21工具栏丢失主题

时间:2015-01-22 08:18:34

标签: android android-toolbar

我的问题是继续讨论这个问题Toolbar NavigationIcon loose theme。这是支持库21中的known bug

在我的情况下,我有两个不同主题工具栏的活动。当我从Activity2导航回Activity1时,Activity1工具栏按钮(后退和溢出)采用Activity2的主题。

我正在尝试为此问题做一个解决方法,这是我迄今为止尝试过的。

我的Activity1的

onResume()

    @Override
protected void onResume() {
    super.onResume();

    supportInvalidateOptionsMenu();
    if(mToolbar != null) {
        // set navigation icon
        mToolbar.setNavigationIcon(R.drawable.abc_ic_ab_back_mtrl_am_alpha);
    }
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setHomeButtonEnabled(true);

}
活动1的

onPrepareOptionsMenu

    @Override
public boolean onPrepareOptionsMenu(Menu menu) {
    // set overflow icon
    for(int i = 0; i < mToolbar.getChildCount(); i++) {
        if(mToolbar.getChildAt(i) instanceof ActionMenuView) {
            ActionMenuView v = (ActionMenuView)mToolbar.getChildAt(i);
            for(int j = 0; j < v.getChildCount(); j++) {
                if(v.getChildAt(j) instanceof TintImageView) {
                    TintImageView v1 = (TintImageView)v.getChildAt(j);
                    v1.setImageResource(R.drawable.abc_ic_menu_moreoverflow_mtrl_alpha);
                }
            }
        }
    }
    return super.onPrepareOptionsMenu(menu);
}

使用此解决方法我的后退按钮工作正常但溢出图标出现在Activity2的主题中,直到我按下它一次。一旦按下它就会改变它的主题。此外,我在Activity1中使用Searchview,当它被激活时,只会出现溢出图标。

如果需要更多信息,请与我们联系。

0 个答案:

没有答案