Android 支持库中的 ActionBar#setDefaultDisplayHomeAsUpEnabled 是什么?

What does ActionBar#setDefaultDisplayHomeAsUpEnabled in Android Support library?

我知道 setDisplayHomeAsUpEnabled 是做什么的,但是 setDefaultDisplayHomeAsUpEnabled 是什么,因为我只能想知道。没有找到文档,除了正在使用之外找不到任何东西。

该方法仅在Support Action Bar中可用,在"native" ActionBar中不可用class自Android 3.更重要的是,它被注释为@hide,这意味着它不是第三方开发者官方 API 的一部分。这就是为什么 Google 没有记录它的原因。你不应该使用它。

深入了解源代码后,我发现了 WindowDecorActionBar 中实现的方法:

public void setDefaultDisplayHomeAsUpEnabled(boolean enable) {
    if (!mDisplayHomeAsUpSet) {
        setDisplayHomeAsUpEnabled(enable);
    }
}

所以基本上它与使用 setDisplayHomeAsUpEnabled 完全相同,但前提是该值尚未使用上述函数手动设置。

tldr:您应该始终使用 setDisplayHomeAsUpEnabled 并忽略默认方法。