我是一位新的Android开发人员,他正在努力寻找API级支持的最佳平衡点。我认为我的犹豫不决源于缺乏对使用AppCompat库而不是新的Android功能(如Holo主题和操作栏)的利弊的理解。
当然,我知道在API级别14之前Holo不可用,并且在API级别11之前操作栏不可用。如果我想让我的应用程序可用于更广泛的Android用户群,我将需要降低我的minSdkVersion并使用AppCompat库。
我的问题是,是否有任何重要的Android操作系统功能尚未得到支持或无法通过AppCompat库实现?除此之外,如果您将minSdkVersion设置为API级别7并构建支持AppCompat的应用程序(例如,您的应用主题为Theme.AppCompat.Light),那么运行API大于11或14的设备将为例如使用默认的Holo或操作栏功能或仅限于AppCompat?我想知道支持旧的API是否会使用更新,功能更强的设备的用户处于劣势。
无论如何,无论结果如何,我都可能会支持说API 7-8。这对我来说更像是一个好奇的问题。我希望它有意义!
谢谢,Klep
答案 0 :(得分:1)
AppCompat应在需要时向旧API添加最新API的功能。例如,lollipop添加了CardView类,可以在使用AppCompat时在较旧的Android API中使用,但有一些细微差别(例如,某些Android L动画可能不适用于旧版本的Android)。在大多数情况下,建议使用AppCompat,因为更多用户可以在您执行时运行您的应用程序(取决于您的MinSdkVersion)。如果您想知道可以在AppCompat中访问哪些类,可以查看功能here。
答案 1 :(得分:0)
关于样式:通过 Platform.AppCompat 样式, Theme.Appcompat 继承,然后覆盖一些属性,来自Holo(11+) )或材料(21+),如果它们在运行设备上是原生的。