16

是否可以将ActionBarActivityPreferenceActivity结合使用。基本上,我想使用以下代码:

getSupportActionBar().setDisplayHomeAsUpEnabled(true); // Enables the "back" arrow

问题是 PreferenceActivity 不包含 getSupportActionBar() 方法,并且 ActionBarActivity 不包含任何用于管理和显示首选项的方法。

4

3 回答 3

7

如果你愿意将你的 PreferenceActivity 变成一个 PreferenceFragment 有一个基于 support-v4 Fragment 的实现:

https://github.com/kolavar/android-support-v4-preferencefragment

我自己使用它,它与 ActionBarActivity 结合使用效果很好!

于 2013-10-23T09:32:01.513 回答
3

ActionBarCompat该功能尚不支持。

如何将支持库中的操作栏添加到 PreferenceActivity?

在 HoneyComb 中添加的ActionBar可以使用以下代码:

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
    getActionBar().setDisplayHomeAsUpEnabled(true);
于 2013-09-13T06:37:30.183 回答
3

对于某些人想要使用getSupportActionBar()with PreferenceActivity。使用安卓 6 编译

在你的类中声明这个扩展 PreferenceActivity

private AppCompatDelegate mDelegate;

并添加:

private AppCompatDelegate getDelegate() {
  if (mDelegate == null) {
    mDelegate = AppCompatDelegate.create(this, null);
  }
  return mDelegate;
}

并调用您的操作栏:

android.support.v7.app.ActionBar actionBar = getDelegate().getSupportActionBar();
于 2016-05-14T17:39:10.627 回答