为什么会有人反对ActionBarActivity?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (22)

我刚刚安装了Android Studio,并开始编写一个活动来扩展ActionBarActivity,并显示它已被弃用。那么我还需要为我的活动设置一个操作栏。此外,“入门培训”使用时ActionBarActivity不用提及它已被弃用。

提问于
用户回答回答于

Toolbar推出以来,ActionBar就被弃用了。Toolbar可以被视为任何行动栏的“超集”。所以'老' ActionBar现在是一个例子Toolbar。如果你需要类似的功能,但没有弃用警告,请执行以下操作:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
if (toolbar != null) {
    toolbar.setTitle(R.string.app_name);
    setSupportActionBar(toolbar);
}

你需要Toolbar在您的布局xml中定义:

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:minHeight="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    android:popupTheme="@style/ThemeOverlay.AppCompat.Light">
</android.support.v7.widget.Toolbar>

有了这个新功能,你可以创建自己的定制ActionBar,让Android完成繁重的工作。只需创建一个从扩展自己的自定义视图Toolbar

此外,你应该使用AppCompatActivity而不是ActionBarActivity,它是在最新版本的appcompat库中引入的。所以不要忘记更新gradle

compile 'com.android.support:appcompat-v7:22.1.1'
用户回答回答于

“ActionBarActivity已被弃用,以支持新的AppCompatActivity。

扫码关注云+社区