ActionBarActivityが廃止された理由


121

Android Studioを新しくインストールし、拡張するアクティビティのコーディングを開始ActionBarActivityしたところ、非推奨であることがわかりました。それで、他にどのように私は私の活動のためにアクションバーを設定しますか?また、入門トレーニングでは、ActionBarActivity廃止予定であることを言及せずにを使用しています。




16
APPCOMPAT-V7-r21.1.0のように多少変更ロジックとの上部には、ActionBarActivity今ですAppCompatActivity。あなたの観点からは、これら2つの間に違いはありません。
Eugen Pechanec 2015

1
ActionBarActivityは、サポートライブラリ26.0.0ベータ2以降に削除されdeveloper.android.com/sdk/support_api_diff/26.0.0-beta2/changes/...
ישואוהבאותך

回答:


120

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'

9
交換するのextends ActionBarActivityと同じくらい簡単extends AppCompatActivityですか?
Ehtesh Choudhury、2015

9
内部的にはかなりの変更がありますが、インターフェースは同じです。ええ、それは単に活動のタイプを置き換えるのと同じくらい簡単です。
Endran

61
Android StudioウィザードがまだActionBarActivityを拡張していることを理解し、それが非推奨であることを通知します。彼らは@Googleの内部でさえコミュニケーションを取っていますか?
ボーイ

完璧なソリューションではありません。ActionBarActivityではなく、ActionBarに対するあなたの与えられた答え。@DroidMind Solution
Shabbir Dhangotを

すばらしい、もう一度仕事を。全員にフラグメントを使用するように促すためのデザインと同じです。Googleの設計原則は、10人が同じアプリを開発している企業に最適です。
Muz


6

この回答により、エラーメッセージを簡単に排除できます。あなたは他の人への追加として見ることができます。

親Activityクラスを変更するActionBarActivityAppCompatActivity、エラーメッセージが消えます。

あなたはクリックすることができ、ここで詳細は。


1
これは他の誰かへの追加のように見えますか?
Noah Herron、2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.