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

时间:2016-04-15 12:52:12

标签: android android-5.0-lollipop android-appcompat

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

在android studio中使用min sdk 21(Android 5.0)设置新项目后,默认情况下我的main_activity扩展AppCompatActivity,这首先没有问题。 我试着设置材料。显示为here@android:style/Theme.Material的黑暗主题不适用于AppCompatActivity。 当main_activity只展开Activity时,它就可以正常工作。

如果我想使用AppCompatActivity这样的功能,或者只是从Action Bar延伸,我是否需要Activity min sdk 21,我认为AppCompatActivity& ; v7 Support Libraries是否支持较低的sdk版本才能使用Material Design,我缺少什么?

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

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

3 个答案:

答案 0 :(得分:2)

是的,你应该使用app compat库和片段。

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

最佳做法是使用支持库,包括AppCompat和FragmentCompat

关于主题,您的主题应如下所示

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

请参阅此https://medium.com/google-developers/theming-with-appcompat-1a292b754b35#.988b91sl1

答案 1 :(得分:1)

Support libraries are necessary if you want to provide newer's SDKs functionality to older platforms. If your minSDK=5 then you need support libraries only if they contain something that is not included in 5's android SDK

答案 2 :(得分:0)

No but there are some nice views in the design support library and support-v4 that you might want.

Design:

  • NavigationView

Support-v4:

  • DrawerLayout

And if you are going this route and want to use "normal" Fragments and a ViewPager, you need to use support-v13.

相关问题