Android Material Design-Getting Started(入门)-(一)
转载请注明出处: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(入门)-(一)的更多相关文章
- Android Material Design 兼容库的使用
Android Material Design 兼容库的使用 mecury 前言:近来学习了Android Material Design 兼容库,为了把这个弄懂,才有了这篇博客,这里先推荐两篇博客: ...
- Android Material Design Ripple Effect在Android5.0(SDK=21)以下Android版本崩溃问题解决
Android Material Design Ripple Effect在Android5.0(SDK=21)以下Android版本崩溃问题解决 附录1的Android Ripple Effect水 ...
- Android Material Design : Ripple Effect水波波纹荡漾的视觉交互设计
Android Material Design : Ripple Effect水波波纹荡漾的视觉交互设计 Android Ripple Effect波纹荡漾效果,是Android Materia ...
- Android Material Design的FloatingActionButton,Snackbar和CoordinatorLayout
如果是为了兼容低版本的Android系统,则需要引用Android Material Design的扩展支持库,我在之前的一篇文章张,较为详细的说明了如何导入Android Material Desi ...
- MaterialEditText——Android Material Design EditText控件
MaterialEditText是Android Material Design EditText控件.可以定制浮动标签.主要颜色.默认的错误颜色等. 随着 Material Design 的到来, ...
- Android Material Design控件学习(三)——使用TextInputLayout实现酷市场登录效果
前言 前两次,我们学习了 Android Material Design控件学习(一)--TabLayout的用法 Android Material Design控件学习(二)--Navigation ...
- Android Material design
1.Material Design:扁而不平 2.Android Support Design 库 之 Snackbar使用及源码分析 3.十大Material Design开源项目,直接拿来用!
- Android Material Design 学习笔记 - Matrial Theme
google在2014年 I/O大会上推出了一种新的设计设计语言—Material design,这种设计语言语言旨在为手机.平板电脑.台式机和“其他平台”提供更一致.更广泛的“外观和感觉”(附上官方 ...
- Android Material Design控件学习(一)——TabLayout的用法
前言 Google官方在14年Google I/O上推出了全新的设计语言--Material Design.一并推出了一系列实现Material Design效果的控件库--Android Desig ...
- Android Material Design简单使用
吐槽 作为一个 Android developer,没有什么比拿着 UI 设计的一堆 iOS 风格的设计 来做需求更恶心的了,基本所有空间都要照着 iOS 来画一遍,Material Design 辣 ...
随机推荐
- HDU 4341
分组背包而已.注意的是,每个时间T,要把一组的全加进去比较一次. #include <iostream> #include <cstdio> #include <cstr ...
- 《SAS编程与数据挖掘商业案例》学习笔记之十五
继续<SAS编程与数据挖掘商业案例>读书笔记,本次重点:输出控制 主要内容包含:log窗体输出控制.output窗体输出控制.ods输出控制 1.log窗体输出控制 将日志输出到外部文件 ...
- 升级后开机就提示“android.process.acore”停止执行 --分析 解决方式
OTA升级的,升级引发的全部问题都是能够解释的,有的能解决,有的不能解决. 一个项目报了这个问题. 升级后开机就提示"android.process.acore"停止执行 抓取 a ...
- Codeforces 425A Sereja and Swaps(暴力枚举)
题目链接:A. Sereja and Swaps 题意:给定一个序列,能够交换k次,问交换完后的子序列最大值的最大值是多少 思路:暴力枚举每一个区间,然后每一个区间[l,r]之内的值先存在优先队列内, ...
- Android自己定义View之组合控件 ---- LED数字时钟
先上图 LEDView效果如图所看到的. 之前看到一篇博客使用两个TextView实现了该效果.于是我想用自己定义控件的方式实现一个LEDView.使用时就可以直接使用该控件. 採用组合控件的方式,将 ...
- ios中去除tableView的分割线
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
- BZOJ 2141 分块 线段树
思路: a[i] //By SiriusRen #include <cmath> #include <cstdio> #include <cstring> #inc ...
- BZOJ 4012 树链剖分+主席树
思路: http://blog.csdn.net/lych_cys/article/details/50763073 lych的题解-- 写得很详细 //By SiriusRen #include & ...
- [转]C#事件-使用事件需要的步骤
事件是C#中另一高级概念,使用方法和委托相关.奥运会参加百米的田径运动员听到枪声,比赛立即进行.其中枪声是事件,而运动员比赛就是这个事件发生后的动作.不参加该项比赛的人对枪声没有反应. 从程序员的角度 ...
- VS头部自动注释
1.找你的vs安装目录, 比如我的是在D盘D:\Program Files\Microsoft\VS2013\Common7\IDE 2.然后点击右上角的 搜索. 搜索Class.cs文件 3.把里面 ...