【问题标题】:Missing Back Button Material Theme缺少返回按钮材质主题
【发布时间】:2014-12-16 16:05:32
【问题描述】:

我正在使用 Material Design(Android 支持 V7 AppCompat)并使用支持工具栏而不是操作栏。但是我注意到后退按钮消失了,在以前的Android版本中,当向后台堆栈添加一个片段事务时,自动添加了后退按钮,现在它消失了。我发现显示后退按钮的唯一方法是使用 Activity 并调用它。

有人发现并解决了这个问题吗?

谢谢!

编辑

我正在使用 DrawerLayoutActionBarDrawerToggle,现在,我使用了给出的答案并使用了这个:

private FragmentManager.OnBackStackChangedListener mOnBackStackChangedListener = new FragmentManager.OnBackStackChangedListener() {
    @Override
    public void onBackStackChanged() {
        boolean displayHomeAsUpEnabled = getSupportFragmentManager().getBackStackEntryCount() > 0;
        getSupportActionBar().setDisplayHomeAsUpEnabled(displayHomeAsUpEnabled);
    }
};

FragmentManager 它来自 android.support.v4。 现在,当返回主屏幕时,“主页”(汉堡按钮)会消失。我现在是因为“setDisplayHomeAsUpEnabled”它是假的......但是我如何再次显示主页按钮?在以前版本的Android上,只需添加后退堆栈并将后退堆栈设置为0就足以显示主页按钮和返回按钮。

谢谢

【问题讨论】:

标签: java android material-design material-theme


【解决方案1】:

好的,所以当使用 ActionBarDrawerToggle 时,我需要做的就是显示和消失后退按钮如下:

private FragmentManager.OnBackStackChangedListener mOnBackStackChangedListener = new FragmentManager.OnBackStackChangedListener() {
        @Override
        public void onBackStackChanged() {
            boolean displayHomeAsUpEnabled = getSupportFragmentManager().getBackStackEntryCount() > 0;
            if(displayHomeAsUpEnabled){
                getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            }else{
                getSupportActionBar().setDisplayHomeAsUpEnabled(false);
                mDrawerToggle.syncState();
            }
        }
    };

真的很奇怪,因为在原生版本或 Android 支持 V4 库上,我不需要这样做来显示后退按钮并使其消失以显示主页按钮,

谢谢你们!

【讨论】:

    【解决方案2】:

    使用ActionBar#setDisplayShowHomeEnabled

    所以你可以像这样启用后退按钮:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    
        //...
    
    }
    

    【讨论】:

      猜你喜欢
      • 2021-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-14
      • 2021-06-04
      • 1970-01-01
      相关资源
      最近更新 更多