2015-08-22 123 views
0

我一直都在怀疑材料设计使用的Android应用程序,它意味着设备的限制。材料设计和设备的限制

我已经developped为Android,但主题用途似乎真的在这一刻感到困惑(程序兼容性和东西,我从来没有真正得到它)

但很显然,过去的谷歌I/O带来了一些工具来帮助的使用材料设计在android应用程序。

所以,我的问题是,如何正确使用没有限制你的应用程序,以大量的设备,材料设计元素?

(我希望我是不够清楚)

+0

https://www.google.com/design/spec/material-设计/ introduction.html – slanecek

+0

@slanecek我已经看过这个。我似乎没有回答我的问题。我只想知道Material Design是否会限制用户的旧设备。无论如何感谢 – Devz

+0

如果你只需要棒棒糖设备中的材料设计主题的外观,你可以使用支持库中的appCompat主题,例如: ''style name =“AppTheme.Base”parent =“Theme.AppCompat。NoActionBar “> <项名称=” colorPrimary “> @颜色/初级 <项目名称=” colorPrimaryDark “> @颜色/ primary_dark <项目名称=” colorAccent“> @颜色/重音 ' 或你可以使用github托管的库之一,如果你想要涟漪效应的功能 'https://github.com/ZieIony/ Carbon'看看这个lib – Sony

回答

0

使用Design Appcompat库来实现一些材料特性对预棒糖设备上工作,使用真材实料的风格和组件上棒糖+。

这是通过提供替代资源使用资源预选赛(-v21)(styles | themes.xml, layouts etc.)来完成。

values-v21/themes.xml你把

<style name="MyAppBaseTheme" parent="android:Theme.Material"> 
    <item name="android:colorPrimary">@color/primary</item> 
    ... 

values/themes.xml你把

<style name=”MyAppBaseTheme” parent=”Theme.AppCompat”> 
    <item name=”colorPrimary”>@color/primary</item> 
    ... 
<style name=”MyAppTheme” parent=”MyAppBaseTheme”> 
    <!-- here you put the version-independent stuff --> 

这样你巧妙地采取主题压倒一切的优势,仅通过交换的材料相关的部分,并确定一切一次。

请注意非Appcompat版本中正确的android:前缀。这是因为5+属性是sdk的一部分,而在Appcompat中,它们是自定义的,与您自己定义的任何样式相同的公民。

阅读guide on maintaining compatibility,它会告诉你关于提供另类风格的资源和分裂代码库后和前5.0

UPD关于在评论你的问题,他们将能够显示材料设计太?

Here is a breakdown of support library version and flavours,该v*有指示说运行LIB所需的最低Android版本。例如。通用v7支持库将为您提供[子集]的支持设备上的材料组件和样式一路返回到android 2.1

+0

好的谢谢。那么这有点复杂!难道不容易吗? :( 所以,再次,如果我得到这个,我需要根据不同用户的操作系统版本了解我的应用程序的代码.. – Devz

+0

是的,你做:)这是向后兼容性的代价。这并不是那么复杂。或者你可以放弃对5.0之前的操作系统的支持,并等到它成为主流版本。 –

+0

好吧,谢谢你的时间,我会努力的! – Devz