转载请注明出处:http://blog.csdn.net/bbld_/article/details/40400343

翻译自:http://developer.android.com/training/material/get-started.html

要创建materialdesign的app,我们依照例如以下的几个步骤:

1.        回想material design的规范

2.        在app中使用material主题样式

3.        尾随material design准则去创建你的布局

4.        在你的view控件指定elevation(高度,可使控件投影的仰角变化)属性来投射阴影。

5.        使用系统的控件来设计列表和卡片。

6.        在你的app中使用自己定义动画

保持向后兼容

你能够在你的app中加入很多material design的功能特性。同一时候对Android5.0之前的版本号保持兼容。要获得很多其它这方面的信息请參看保持程序的兼性(MaintainingCompatibility)

採用material design更新你的app

要更新现有的app去包括体现material design,(你应该)尾随materialdesign的规范指导去更新你的布局。另外。还要确保结合深入、触摸反馈和动画。

採用material design创建新的app

假设你要通过materialdesign创建一个全新的app,material design的规范指导为你提供了一个紧密结合的设计框架。在Android框架设计和你的应用开发中遵循这些指导并使用新的功能特性。

使用Material主题

在你的app中使用material主题。(你应该)继承指定的主题:android:Theme.Material。

<!-- res/values/styles.xml -->

<resources>

 <!-- your theme inherits from the material theme -->

 <style name="AppTheme" parent="android:Theme.Material">

   <!-- theme customizations -->

 </style>

</resources>

该material主题提供了已经更新的系统控件使得让你能够去设置它们(控件)的调色板和触摸反馈的默认动画和activity的过渡动画效果。获取很多其它的细节。请參看Using the Material Theme  [Android Material Design-Using
the Material Theme(使用Material主题)-(二)]

设计你的布局

除了使用或定制material主题,你的布局相同应该符合materialdesign的规范指导。 当你设计布局时。须要特别注意一下几点:

l  基线网格

l  关键的边

l  间隔

l  触摸目标的大小

l  布局结构

在你控件中指定elevation (属性)

控件可以投射阴影,此外elevation属性值决定了一个view控件的影子和它绘制顺序的大小。要设置一个view控件的elevation属性。可以在布局中使用android:elevation属性去设置。

<TextView

   android:id="@+id/my_textview"

   android:layout_width="wrap_content"

   android:layout_height="wrap_content"

   android:text="@string/next"

   android:background="@color/white"

   android:elevation="5dp" />

新的translationZ属性能够让你创建反映在暂时更改view控件levation属性时的动画效果。

Elevation属性改变可能是实用的当响应触摸手势时。

很多其它详情。请參看Defining Shadows and Clipping Views(定义阴影和裁剪视图)

创建列表和卡片(控件)

RecyclerView是一个支持不同的布局类型同一时候提高了显示动态视图性能的增强版ListView。

CardView是一个卡片视图,能够在卡片内显示信息。

能够使用以下的方式创建CardView。

<android.support.v7.widget.CardView

   android:id="@+id/card_view"

   android:layout_width="200dp"

   android:layout_height="200dp"

   card_view:cardCornerRadius="3dp">

   ...

</android.support.v7.widget.CardView>

很多其它的信息,參看Creating Lists and Cards(创建列表和卡片)

自己定义你的动画

Android 5.0(API级别21)包括很多新的API使得你能够在app中去创建自己定义的动画。比如,你能够启用activity的过渡动画和定义activity的退出动画:

public class MyActivity extends Activity {

    @Override

   protected void onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);

       // enable transitions

       getWindow().requestFeature(Window.FEATURE_CONTENT_TRANSITIONS);

       setContentView(R.layout.activity_my);

    }

   public void onSomeButtonClicked(View view) {

       getWindow().setExitTransition(new Explode());

       Intent intent = new Intent(this, MyOtherActivity.class);

       startActivity(intent,

                      ActivityOptions

                         .makeSceneTransitionAnimation(this).toBundle());

    }

}

当你从这个activity跳转到还有一个activity时,退出过渡动画是激活的。

要了解很多其它关于新动画的API,请參看Defining Custom Animations(自己定义动画)

Android Material Design-Getting Started(入门)-(一)的更多相关文章

  1. Android Material Design 兼容库的使用

    Android Material Design 兼容库的使用 mecury 前言:近来学习了Android Material Design 兼容库,为了把这个弄懂,才有了这篇博客,这里先推荐两篇博客: ...

  2. Android Material Design Ripple Effect在Android5.0(SDK=21)以下Android版本崩溃问题解决

    Android Material Design Ripple Effect在Android5.0(SDK=21)以下Android版本崩溃问题解决 附录1的Android Ripple Effect水 ...

  3. Android Material Design : Ripple Effect水波波纹荡漾的视觉交互设计

     Android Material Design : Ripple Effect水波波纹荡漾的视觉交互设计 Android Ripple Effect波纹荡漾效果,是Android Materia ...

  4. Android Material Design的FloatingActionButton,Snackbar和CoordinatorLayout

    如果是为了兼容低版本的Android系统,则需要引用Android Material Design的扩展支持库,我在之前的一篇文章张,较为详细的说明了如何导入Android Material Desi ...

  5. MaterialEditText——Android Material Design EditText控件

    MaterialEditText是Android Material Design EditText控件.可以定制浮动标签.主要颜色.默认的错误颜色等. 随着 Material Design 的到来, ...

  6. Android Material Design控件学习(三)——使用TextInputLayout实现酷市场登录效果

    前言 前两次,我们学习了 Android Material Design控件学习(一)--TabLayout的用法 Android Material Design控件学习(二)--Navigation ...

  7. Android Material design

    1.Material Design:扁而不平 2.Android Support Design 库 之 Snackbar使用及源码分析 3.十大Material Design开源项目,直接拿来用!

  8. Android Material Design 学习笔记 - Matrial Theme

    google在2014年 I/O大会上推出了一种新的设计设计语言—Material design,这种设计语言语言旨在为手机.平板电脑.台式机和“其他平台”提供更一致.更广泛的“外观和感觉”(附上官方 ...

  9. Android Material Design控件学习(一)——TabLayout的用法

    前言 Google官方在14年Google I/O上推出了全新的设计语言--Material Design.一并推出了一系列实现Material Design效果的控件库--Android Desig ...

  10. Android Material Design简单使用

    吐槽 作为一个 Android developer,没有什么比拿着 UI 设计的一堆 iOS 风格的设计 来做需求更恶心的了,基本所有空间都要照着 iOS 来画一遍,Material Design 辣 ...

随机推荐

  1. Swift开发教程--怎样自己定义TabBarItem的图片显示

    在做项目的时候,假设使用系统的UITabBarController的时候,底部的tab自己定义图片显示是蓝色和灰色的.这不是我们所想要的效果. 假设想显示自己定义的按下和弹起的图片效果.这个时候就须要 ...

  2. HDFS学习笔记(1)初探HDFS

    Hadoop分布式文件系统(Hadoop Distributed File System, HDFS) 分布式文件系统是一种同意文件通过网络在多台主机上分享的文件系统.可让多机器上的多用户分享文件和存 ...

  3. 易语言VS杀毒软件:基情复燃,转受为攻!

    这两天在编程领域里,又发生了一件令人瞩目的事情:以易语言创始人吴涛的一篇檄文<tid=370327">让我们一起来对360误报说不!>为序幕.再次拉开了易语言跟360杀毒软 ...

  4. MySQL官方文档

    http://dev.mysql.com/doc/refman/5.7/en/index.html 没有比这更好的MySQL文档了,省的去买书了

  5. ANT公布SVN WEB项目到TOMCAT以及利用post-commit自己主动提交编译更新

    开发者在本地提交更新到SVNserver后.往往须要測试人员又一次測试.为了将更新内容即时反映到測试server.能够利用post-commit脚本将SVN更新同步到測试server中. (1)利用S ...

  6. angularjs1-5,class,

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  7. Oracle 11G R2 用exp无法导出空表解决方法

    四.  Oracle 10g以后增加了expdp和impdp工具,用此工具也可以导出空的表 oracleexpdp/impdp 用法详解 1)  创建逻辑目录,该命令不会在操作系统创建真正的目录,最好 ...

  8. Hessian Spirng实例

    Spring实例 之前,我们做了很简单的纯Hessian的调用,虽然到此已经能够满足远程调用的需求了,但是我听说spring也能够访问hessian的远程服务,研究了一番,废话不多说,直接上示例. 业 ...

  9. Git不需重复输入账号和密码的方法

    1. 打开 TortoiseGit 附带工具 Puttygen(PuTTY Key Generator)  C:\Program Files\TortoiseGit\bin\puttygen.exe. ...

  10. 解决从Excel导入数据库,导入到DataTable时数据类型发生变化的问题(如数字类型变成科学计数法,百分数变成小数)

    做项目的时候,C#读取Excel数据到DataTable或者DataSet,设断点查看DataTable,发现Excel的显示为较长位数数字的字段如0.000012在DataTable中显示为科学计数 ...