Android支持库如何与目标SDK级别一起使用?

时间:2015-06-09 10:21:54

标签: android android-studio android-support-library android-appcompat appcompat-v7-r22.1

我知道我可以使用支持库来添加本机不可用的元素。但是,最新的SDK版本(例如Lollipop)是否也使用这些支持库,还是使用本机元素?例如。如果我在Lollipop设备上运行应用程序,它会使用原生或支持元素吗?我问,因为在编辑源代码时(在Android Studio中),我只编辑了一个版本的文件,例如,我不能选择为ICS创建一个文件,并且另外对于Lollipop,那么系统如何知道要使用哪些元素?

1 个答案:

答案 0 :(得分:1)

  

但是,最新的SDK版本(例如Lollipop)是否也使用这些支持库,还是使用原生元素?

Android框架不使用支持库。

  

如果我在Lollipop设备上运行应用程序,它会使用原生或支持元素吗?

如果我正在解释你的意思" native",它使用原生元素。 Android框架不使用支持库。

  

例如,我不能选择为ICS创建一个文件,而为Lollipop创建其他文件

当然欢迎您检测正在运行的API级别并选择实例化某些特定级别的类。你会在框架中偶尔看到这个,虽然它在Android支持包中更常见,特别是对于...Compat类。

  

那么系统如何知道要使用哪些元素?

每个Android设备只有一个Android版本。因此,只有一套框架"元素"供框架使用。

小部件外观的某些方面由主题驱动,每个Android版本都支持现有的任何库存主题,从API级别1返回Theme。如果开发人员选择使用基于运行API级别的不同主题(例如,使用Theme.Material作为Android 5.0+的基础,但使用Theme.Holo作为Android 4.0-4.4的基础),这是由资源集限定符驱动的(例如, res/values-v21/styles.xml)。