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

标签 android android-5.0-lollipop android-appcompat

我是 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 Design,我错过了什么?

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

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

最佳答案

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

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

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

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

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

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

关于android - 我需要最低 sdk 21 的 AppCompatActivity 和 v7 支持库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36647684/

相关文章:

android - WebView.enableSlowWholeDocumentDraw 是否存在于当前 Activity 之外?

android - 共享元素过渡

android - AppCompat 工具栏显示不需要的设置按钮

android - android中缺少样式

AndroidAnnotations + Instant App - 找不到生成的 <applicationId>.R 类

android - 以倒置方式显示 TextView 数据

android - 如何计算时间差并将结果显示在00 :00 format?

android - 是我的应用程序导致卡住并重新启动手机吗?

android - Android Lollipop 中属于不同 Activity 的 fragment 之间的共享元素转换

android - 平板电脑设备上的选项卡未占据全宽 [使用 android.support.design.widget.TabLayout]