Android材料设计兼容性 - 重复布局?

时间:2015-05-16 17:58:35

标签: android material-design

到目前为止我所读到的关于向后兼容材料设计的所有内容都表明,如果我想使用任何材料设计功能并保持向后兼容性,我必须维护两组独立的布局文件,一个用于21+,以及一个21岁以前的人。不用说,这真的很糟糕。每当我想在UI中更改某些内容时,我都必须将其更改两次。我在这方面是否正确,还是有一个我没有找到的很酷的解决方法?

似乎另一种方法是用Java而不是XML设置所有材料设计属性,包装在对当前SDK版本的检查中。我会认为这很丑,但它可能比复制布局更好。也许一种聪明的方式来隐藏它会让它更容忍。

除了这两个糟糕的解决方案之外我什么也想不到 - 有没有人找到更好的东西?

1 个答案:

答案 0 :(得分:0)

ianhanniballake是对的,您可以将新标签留在文件中。我在文档中对此表示愤怒:

  

如果您根据材料设计设计布局   准则不使用引入的任何新XML属性   Android 5.0(API级别21),它们将适用于以前的版本   Android系统。否则,您可以提供替代布局。你也可以   提供替代布局,以自定义您的应用之前的外观   Android版本。

     

在里面为Android 5.0(API级别21)创建布局文件   res / layout-v21 /和早期版本的替代布局文件   在res / layout /中的Android。例如,res / layout / my_activity.xml   是res / layout-v21 / my_activity.xml的替代布局。

我认为清楚地说要使用新属性来复制文件。似乎事实并非如此。感谢。