我是一个新的Android开发人员,他试图找到API级别支持的最佳平衡。我认为我之所以犹豫不决,是因为我对使用AppCompat库而不是使用较新的安卓功能(如Holo主题和动作栏)的利弊缺乏了解。
当然,我知道在API 14之前就不能使用Holo,在API 11之前也不能使用Action。如果我想让更广泛的安卓用户可以使用我的应用程序,我需要降低minSdkVersion并使用AppCompat库。
我的问题是,最近安卓系统中是否有任何重要的特性不受支持,或者无法通过AppCompat库实现?此外,如果您将minSdkVersion设置为API 7,并构建支持AppCompat的应用程序(比方说,应用主题为Theme.AppCompat.Light),那么运行大于11或14的设备会使用默认的Holo或操作栏功能还是仅限于AppCompat?我想知道,支持旧的API是否会使使用更新和功能更强的设备的用户处于不利地位。
无论如何,不管结果如何,我可能仍然会支持比如说API 7-8。对我来说,这更像是一个好奇的问题。我希望这是合理的!
谢谢你,克莱普
发布于 2015-01-20 08:36:55
AppCompat应该在需要时将最新API的功能添加到旧API中。例如,棒棒糖添加了CardView类,当使用AppCompat时,它可以在较旧的Android中使用,但有一些细微的差别(例如,一些Android动画可能不适用于较早版本的AppCompat)。建议在大多数情况下使用AppCompat,因为更多的用户可以在运行应用程序时运行(这取决于您的MinSdkVersion)。如果您想知道可以在AppCompat中访问哪些类,可以查看这里的特性。
发布于 2015-01-20 10:29:45
关于样式:通过Platform.AppCompat样式,Theme.Appcompat继承并重写了一些属性,如果这些属性是运行设备上的本地属性,则来自Holo (11+)或native (21+)。
https://stackoverflow.com/questions/28040257
复制相似问题