转载请注明 http://blog.csdn.net/eclipsexys 翻译自Developer Android,时间仓促,有翻译问题请留言指出,谢谢
如material design和自定义活动的过渡部分材料设计功能只能在Android5.0(API等级21)以上。不过,你可以设计你的应用程序在支持材料设计,仍然与设备运行的是Android的早期版本兼容的设备上运行。
res/values/styles.xml下。
res/values-v21/styles.xml中定义与继承
材料主题同名的主题。
res/layout-v21/
和你选择的布局文件中的
res/layout/
早期版本的Android。例如,
res/layout/my_activity.xml
是
es/layout-v21/my_activity.xml
另一种布局。
res/values-v21/使用
新的API和使用风格的继承,限定在基本样式
res/values/
和那些继承
res/values-v21/
。
该Theme.AppCompat主题提供材料的设计风格于:
EditText
Spinner
CheckBox
RadioButton
SwitchCompat
CheckedTextView
为了获得材料的设计风格和自定义调色板与Android V7支持库,应用的Theme.AppCompat主题:
<!-- extend one of the Theme.AppCompat themes -->
<style name="Theme.MyTheme" parent="Theme.AppCompat.Light">
<!-- customize the color palette -->
<item name="colorPrimary">@color/material_blue_500</item>
<item name="colorPrimaryDark">@color/material_blue_700</item>
<item name="colorAccent">@color/material_green_A200</item>
</style>
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile 'com.android.support:cardview-v7:+'
compile 'com.android.support:recyclerview-v7:+'
}
以下功能仅适用于Android的5.0(API等级21)以上:
Activity transitions
Touch feedback
Reveal animations
Path-based animations
Vector drawables
Drawable tinting
为了保持与早期版本的Android的兼容性,在运行时调用的API来检查系统版本:
// Check if we're running on Android 5.0 or higher
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
// Call some material design APIs here
} else {
// Implement this feature without material design
}