Material Design是由谷歌的设计工程师基于传统优秀的设计原则,结合丰富的创意和科学技术所发明的一套全新的界面设计语言,包含视觉、运动、互动效果等特性
使用Material Theme
系统小组件拥有全新的设计与触摸反馈动画。您可为您的应用定制配色工具、触摸反馈动画以及操作行为转换。
材料主题的定义为:
@android:style/Theme.Material(深色版本)
@android:style/Theme.Material.Light(浅色版本)
@android:style/Theme.Material.Light.DarkActionBar
定制状态栏
材料主题可让您轻松定制状态栏,因此您可以指定一个符合自己品牌特色且对比度足够高、能够显示白色状态图标的颜色。 如果要为状态栏设置定制颜色,您可在扩展材料主题时使用 android:statusBarColor 属性。 默认情况下,android:statusBarColor 将继承 android:colorPrimaryDark 的值。
ThemeColors.png您也可自行将状态栏移到后侧。例如,您想在一个照片上以透明的方式显示状态栏,同时利用细微的深色渐变以确保白色状态图标仍保持可见。 如果要执行此操作,请将 android:statusBarColor
属性设置为 @android:color/transparent
并根据需要调整窗口标志。您也可以使用 Window.setStatusBarColor()
方法进行动画或淡出设置。
创建列表与卡片
RecyclerView
RecyclerView
类别将通过提供下列功能简化庞大数据集的显示与处理:
用于项目定位的布局管理器
用于通用项目操作(例如删除或添加项目)的默认动画
您也可灵活选择如何为 RecyclerView
小部件定义自定义布局管理器与动画。如果要使用 RecyclerView
小部件,您必须指定一个适配器和一个布局管理器。 如果要创建一个适配器,请扩展 RecyclerView.Adapter
类别。实现的详情将取决于数据集的具体信息以及视图的类型。
RecyclerView
在默认情况下启用增添与删除项目的动画。如果要自定义这些动画,请扩展RecyclerView.ItemAnimator
类别并使用 RecyclerView.setItemAnimator()
方法。
CardView
CardView
扩展 FrameLayout
类并让您能够显示卡片内的信息,这些信息在整个平台中拥有一致的呈现方式。CardView
小部件可拥有阴影和圆角。
如果要使用阴影创建卡片,请使用 card_view:cardElevation
属性。CardView
在 Android 5.0(API 级别 21)及更高版本中使用真实高度与动态阴影,而在早期的 Android 版本中则返回编程阴影实现。如需了解详细信息,请参阅保持兼容性
使用这些属性自定义 CardView
小部件的外观:
如果要在您的布局中设置圆角半径,请使用 card_view:cardCornerRadius
属性。
如果要在您的代码中设置圆角半径,请使用 CardView.setRadius
方法。
如果要设置卡片的背景颜色,请使用 card_view:cardBackgroundColor
属性。
Floating Action Button
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:src="@drawable/ic_my_icon"
android:layout_margin="16dp" />
Navigation Drawer
drawer layout
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/my_drawer_layout"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:fitsSystemWindows="true">
<include
layout="@layout/my_main_content.xml"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.design.widget.NavigationView
android:id="@+id/my_navigation_view"
android:layout_height="match_parent"
android:layout_width="wrap_content"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/my_drawer_header"
app:menu="@menu/my_drawer_view"/>
</android.support.v4.widget.DrawerLayout>
网友评论