我需要最低 sdk 21 的 AppCompatActivity 和 v7 支持库吗?

do I need AppCompatActivity & v7 Support Libraries with minimum sdk 21?

我是 Android 的新手,现在有点困惑。

在 android studio 中使用 min sdk 21 (Android 5.0) 设置了一个新项目后,默认情况下我的 main_activity 扩展了 AppCompatActivity,起初是没有问题。 我试着设置了Material。 here 所示的深色主题,但 @android:style/Theme.Material 不适用于 AppCompatActivity。 它现在可以在 main_activity 扩展 Activity.

时使用

如果我想使用 Action Bar 之类的功能,我需要 AppCompatActivity 和 min sdk 21 吗?还是可以从 Activity 扩展,我认为 AppCompatActivity & v7 Support Libraries 是否支持较低的 sdk 版本以能够使用 Material 设计,我缺少什么?

如果 sdk 级别 21 和更高级别不需要 AppCompatActivity 为什么 android studio 将其设置为默认值,即使 21 被设置为最小 sdk?

我想我的一个主要问题是,使用 here 解释的 Material 设计主题与 Android Studio 默认使用的 AppCompatActivity 结合使用的最佳实践是什么。

不,但是 design 支持库和 support-v4 中有一些您可能需要的不错的视图。

设计:

  • 导航视图

支持-v4:

  • 抽屉布局

并且如果您要走这条路并且想要使用 "normal" FragmentsViewPager,则需要使用 support-v13.

如果您想为旧平台提供更新的 SDK 功能,则需要支持库。如果您的 minSDK=5 那么只有当它们包含 5 的 android SDK

中未包含的内容时,您才需要支持库

是的,您应该使用应用兼容库和片段。

支持库中捆绑了错误修正。这样 Google 可以修复 Android 中的错误,而无需等待人们更新他们的手机。

最好使用支持库,包括 AppCompat 和 FragmentCompat

关于主题,你的主题应该是这样的

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

看到这个https://medium.com/google-developers/theming-with-appcompat-1a292b754b35#.988b91sl1