您的位置:首页 > 移动开发 > Android开发

Android Material Design 详解(使用support v7兼容5.0以下系统(部分功能))

2016-02-05 19:49 766 查看
Android Material Design 详解(使用support v7兼容5.0以下系统)

2014-12-18 5 个评论
来源:books1958的专栏
收藏

我要投稿


Material Design是Google在2014年的I/O大会上推出的全新设计语言。Material Design是基于Android 5.0(API level 21)的,兼容5.0以下的设备时需要使用版本号v21.0.0以上的support
v7包中的appcpmpat,不过遗憾的是support包只支持Material Design的部分特性。使用eclipse或Android Studio进行开发时,直接在Android SDK Manager中将Extras->Android Support Library升级至最新版即可。目前最新版本为:

?
本文中示例程序使用minSdkVersion=14,即属于使用support包实现Material Design风格。

使用Material Design的步骤:

一、使用Material主题

1.创建一个Android应用,应用主题Theme.AppCompat(或其子主题,如Theme.AppCompat.Light.DarkActionBar)

2.自定义程序所使用的主题的某些属性,示例:

?
3.所有需要使用ActionBar的Activity必须继承自ActionBarActivity,因为即使使用了类似Theme.AppCompat.Light.DarkActionBar这样的主题,系统也不会自动添加ActionBar.

效果图:






相对于普通的ActionBar的变化:

(1)右侧三个小点的样式变了。(这个无所谓。。。)

(2)点击右侧三个小点(更多)时,下拉菜单不是从ActionBar的下面开始展开,而是直接从ActionBar之上开始!也许的确有办法把它改成旧的样式,不过查阅官方文档之后发现,Google对此的解释是:菜单是一个临时展现给用户的组件,因此应该悬浮在上面。也就是说,新的设计规则推荐的就是这种默认的样式。

二、使用RecyclerView

RecyclerView是Google在support v7包中提供的一个全新的组件。该组件是一个增强版的ListView,新特性:

1.提高了性能;

2.adapter中自动进行item复用,也就是说,以前的这种繁琐的写法不需要了:

?
3.预置了item的添加,删除,移动,修改时的动画,当且改动画也可以自定义。

效果图:





示例代码:

(1)主页面,获取到RecyclerView,设置adapter即可。

?
(2)adapter,RecyclerViewAdapter.java:

?
(3)主页面布局文件:

recycler_layout.xml:

?
二、使用CardView

CardView是Google在support v7包中提供了另一个全新组件,可以很方便的实现“卡片式布局”(具有投影/圆角 的立体效果)。CardView继承自FrameLayout,因此如果内部需要互不重叠的放置多个组件时,可能需要再嵌套一个LinearLayout或RelativeLayout等。

效果图:



布局文件:

?
属性解释:

cardCornerRadius:圆角大小;

cardElevation:投影的深度;

cardBackgroundColor:卡片的背景色。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: