如果我们希望使用 Material Design 的应用同时支持 Lollipop 和 Lollipop 之前的设备,以下哪种方法是正确的?
单独使用 Android 支持库:仅对整个应用程序使用支持库,不使用任何 API 21。我已经对此进行了测试,它可以在模拟器中运行。我可以在模拟器中获得 Lollipop 设备中的 Material 特征。
在应用程序中同时使用 API 21 和 Android 支持库:提供替代样式、替代布局等...一种使用 API 21,另一种使用 Android 支持库,如 Android 的 documentation 中所述。 .
我的困惑是,如果我选择选项 1,它是否适合 Lollipop 设备?这会降低内存效率吗?
否则,如果我选择选项 2,如果实际上不需要,那会不会太过分了?
同样在第二个选项中,为了使用工具栏,我们可以在两个文件夹(layouts 和 layouts-v21)中使用布局在第一个文件夹中使用 android.support.v7.widget.Toolbar
和使用 Toolbar
在第二个文件夹中布局。
但是要将它设置为 ActionBar
就足以让 Lollipop 拥有从 Activity
类继承的 Activity 。但是pre-Lollipop需要继承自ActionBarActivity
。那么我们是否也需要有两个 Activity 文件?
请指出我是否脱口而出任何错误。
最佳答案
某些功能仅在 v21 中可用,例如涟漪效应,因此如果您想在您的应用中使用涟漪效应,而不是同时使用支持库来支持背部支撑和 v21 来支持 Lollipop 。 为 pre lollipop 使用自定义 XML/Java,对于 lollipop,只需将您的动画/设计添加到 v21 文件夹中
关于android - 在 Lollipop 和 pre-Lollipop 中使用 Material 主题的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29985528/