如何在不扩展操作栏活动的情况下设置 app.compat 操作栏工具栏



我已经在扩展另一个类(expandablelistactivity),但我的活动需要一个工具栏。有没有办法解决这个问题?

通常我将工具栏与以下功能结合使用:

setSupportActionbar()

在我的活动中。在我的活动的 xml 中,我将使用:

<android.support.v7.widget.Toolbar/>

在我的应用程序主题中,我将它设置为无操作栏,如下所示:

parent="Theme.AppCompat.Light.NoActionBar"

人们建议我

import android.support.v7.app.AppCompatDelegate;

但是,它说不会被解析("无法解析appcompatdelegate")。我已经更新了我的 Android 支持存储库和 Android 支持库。

您可以将AppCompatDelegate与操作栏相关的任何内容与匹配的活动生命周期回调一起使用。

来自Chris Banes的博客:

创建委托时需要维护合同。你必须 在它公开的每个调用时回调它(例如onCreate() ),但是 它非常简单,可以提取到基类中。

最终结果是您可以附加AppCompat的所有功能 到任何 Activity 子类,只要您根据需要调用它。

查看此示例 AppCompatPreferenceActivity ,扩展无操作栏PreferenceActivity,并使用AppCompatDelegate提供操作栏。

v4 支持库的 22.1 版本提供了新的AppCompatDelegateAppCompatDelegate现在公开了以前是ActionBarActivity的一部分的setSupportActionbar()等方法。

这是来自Google的博客文章,如果您需要更多信息,将介绍AppCompatDelegate