android - 在 Lollipop 和 pre-Lollipop 中使用 Material 主题的正确方法

标签 android material-design

如果我们希望使用 Material Design 的应用同时支持 Lollipop 和 Lollipop 之前的设备,以下哪种方法是正确的?

  1. 单独使用 Android 支持库:仅对整个应用程序使用支持库,不使用任何 API 21。我已经对此进行了测试,它可以在模拟器中运行。我可以在模拟器中获得 Lollipop 设备中的 Material 特征。

  2. 在应用程序中同时使用 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/

相关文章:

Android 的 WifiInfo#getSSID() : is there a way to understand if SSID has double quotes by itself or is it Android created ones?

android - 在 android 中列出带有操作按钮的项目

android - MaterialCardView:无法在 xml 布局中设置选中状态

java - MediaPlayer 服务、ViewPagerAdapter 方向更改

java - 如何获取 TextView 的边距?

安卓键盘。 key 的背景

android - 如何在 Android Studio 中创建 Material 操作栏图标

dart - 聚合物 paper_input 的数据绑定(bind)不起作用

jquery - 我的 Bootstrap 导航栏切换不切换

android - 在 CollapsingToolbarLayout 中以编程方式更改 layout_scrollFlags