2016-04-15 4 views
6

私はAndroidが初めてで、ちょっと混乱しています。私はAppCompatActivity&v7サポートライブラリが必要ですか?

アンドロイドスタジオでmin sdk 21(Android 5.0)を使用して新しいプロジェクトを設定した後、デフォルトではmain_activityは最初は問題ありませんでしたAppCompatActivityになります。 私はマテリアルを設定しようとしました。 hereのような暗いテーマだが、@android:style/Theme.MaterialAppCompatActivityで動作しません。 main_activityがちょうどActivityまで延長されたときに動作します。

私はAction BarまたはそれだけでActivityから延長にokですなどの機能を使用したい場合は、私はAppCompatActivity & v7 Support Librariesはマテリアルデザインを使用できるように下SDKのバージョンをサポートすることがあることを考えた分SDK 21とAppCompatActivityが必要です、私は何が欠けているのですか?

レベル21のsdkでAppCompatActivityが必要ない場合は、21がmin sdkとして設定されていても、アンドロイドスタジオがデフォルトとして設定するのはなぜですか?

私が持っている主な質問は、hereとAndroid Studioがデフォルトで使用するAppCompatActivityが組み合わされたMaterialデザインのテーマを使用するためのベストプラクティスです。

+0

はあなたのことができます参照してください。この

<style name="AppTheme" parent="Theme.AppCompat">

のようになります。答えを選択しますか? –

+1

これは部分的にしか回答されていませんが、ここでもベストプラクティスについてはまだわかりません。私は保存面にいたいので、私はAppcompatに固執して答えを見つけるのをやめました。 –

答えて

0

いいえ、designサポートライブラリには素晴らしい見解がありますが、ご希望の場合はsupport-v4です。

デザイン:

  • NavigationView

サポート-V4:

  • DrawerLayout

あなたがこのルートに行き、 "普通" FragmentsViewPagerを使用する場合は、support-v13を使用する必要があります。

+0

あなたの答えをありがとう、私は間違いなくナビゲーションの引き出し/ NavigationViewが欲しいですか?しかし、AppCompatを使わずにネイティブにapi 21(5.0)で使用することはできませんか?私はまだ '@アンドロイド:style/Theme.Material'を使用するのがベストプラクティスであることについてはまだ分かりません。なぜなら、それが「AppCompat」では動作しないからです。 –

+0

はい、 'AppCompat'を必要とせず、' design'ライブラリが必要です。 'NavigationView'は' design'ライブラリにあります。 –

1

古いライブラリに新しいSDKの機能を追加するには、サポートライブラリが必要です。 minSDK = 5の場合、サポートライブラリは5のAndroid SDKに含まれていないものが含まれている場合にのみ必要です

+0

私は最小限のSDK API 21(Lollipop)を使用しています、ありがとうございます。でも、アンドロイドのスタジオは、API 21で導入されたMaterial Designテーマと互換性のない、AppCompatActivityのmain_Activityをデフォルトで拡張しています。ベストプラクティスとは何か、またはマテリアルテーマを正しい方法で使用する方法を理解してください。 –

1

はい、アプリケーション互換ライブラリとフラグメントを使用する必要があります。

サポートライブラリにバンドルされているバグがあります。こうすることで、Googleは人々が携帯電話を更新するのを待つことなく、Androidのバグを修正できます。それがテーマに関してはAPPCOMPATとFragmentCompat

含むサポートライブラリを、使用することをお勧めします

、あなたのテーマは、このhttps://medium.com/google-developers/theming-with-appcompat-1a292b754b35#.988b91sl1

関連する問題