[经验总结]material design效果与开发总结
首先贴一个參考过的文章,写的不错: 在低版本号android系统上实现Material design应用
以下是工作中总结出来的,列出了在<5.0的设备是怎样实现material design的一些常见样式的
- 大元素
- 其它还有什么明显的大元素【待补充】
- 下拉刷新【能够实现,类似Gmail下拉刷新的样式】
- SwipeRefreshLayoutDemo 【google官方出的下来刷新。这里是一个样例】
- android-Ultra-Pull-To-Refresh
- Action Bar 【能够实现】
- Google自己的support v7 r21提供的类就可以。主要是Theme.AppCompat
- Floating action button 【能够实现】
- 开源项目 futuresimple/android-floating-action-button 比較合适,唯一的缺点就是值支持API
14以上的系统版本号
- 开源项目 futuresimple/android-floating-action-button 比較合适,唯一的缺点就是值支持API
- Scrolling techniques (滚动)【能够实现】
- 开源项目 NotBoringActionBar
- Navigation drawer (导航抽屉)【能够实现】
- Google自己的support v7 r21提供的类(详细可见Support v7最新版demo里边的AppCompat→Action Bar→Navigation Drawer Toggle)
- 开源项目 kanytu/android-material-drawer-template 有Gmail样式的Navigation Drawer(展开时盖住ActionBar)
- Navigational transitions (导航转换)【可能能够,可是还没有找】
- 分2种:Parent to child, Sibling to sibling
- Tabs (导航标签)【能够实现,可是没有找】
- Bottom sheets (底部窗体)【应该能够,可是还没有找】
- 其它小元素
- 其它还有什么明显的小元素【待补充】
- Ripple Effects【能够实现】
- RippleEffect 开源项目效果最好
- SnackBar【能够实现】
- ColorSelector【能够实现】
- 开源项目MaterialDesignLibrary 里边有这个控件
- Typography 【能够实现,建议先不用】
- 事实上是2种字体:Robot – Latin, Greek, and Cyrillic scripts ;Noto – all other languages
- Color (大色块) 【能够实现】
- 与开发相关的是颜色的使用,Support v7 r21里边仅仅是定义了一个material_blue系列的颜色,并没有将20种色系所有定义到project中。实际开发其中,开发仅仅须要依照google的演示样例自定义颜色就能够了
- Layout: Metrics and Keylines (边距/间距方面的规定) 【能够实现】
- 主要针对设计,实现没有问题
- Tooltips(工具提示) 【能够实现】
- 对于触屏来说,就是长按一个图形button(无文字)会出现一个tooltip
- ActionBar已经实现了这样的机制 。这也是我强烈建议使用Google的ActionBar。而不要自己画一个看着像ActionBar的ActionBar
- Text fields (文本输入) 【部分实现】
- Support v7 r21提供的Theme.AppCompat主题已经涵盖了EditText控件,可是至于文字数与颜色变化等小特性我预计是没有的(没有调试),这个待以后补充
- Buttons 【能够实现,详细待调试】
- 这里边有4类buttons: Floating action button, Raised button, Flat button, Pulldown button
- Floating action button见上方,
- Raised button再找下开源项目。本质上是加了一个边缘的阴影
- Flat button主要用于对话框的确定/取消按钮,这个在相关对话框开源项目里边已经有了(眼下没有见到单独用的)
- Pulldown button,看截图感觉和之前的Spinner的下来列表是一样的
- Switches【能够实现。详细待调试】
- 这里边有3类:Checkbox, Radio button, Switch
- Support v7 r21里边Theme.AppCompat里边已经涵盖了上面3种控件的样式,只是颜色仅仅有Light/Drak两种
- 开源的第三方项目里边也有比較灵活的上述控件(自己又一次写的),即能够非常方便的更改颜色
[经验总结]material design效果与开发总结的更多相关文章
- Android学习之基础知识十五 — 最佳UI体验(Material Design实战)
一.前言 长久以来,大多数人都认为Android系统的UI并不美观,至少没有iOS系统的美观.以至于很多IT公司在进行应用界面设计的时候,为了保证双平台的统一性,强制要求Android端的界面风格必须 ...
- Material Design with the Android Design Support Library
Material Design with the Android Design Support Library 原文http://www.sitepoint.com/material-design-a ...
- Android Material Design控件学习(一)——TabLayout的用法
前言 Google官方在14年Google I/O上推出了全新的设计语言--Material Design.一并推出了一系列实现Material Design效果的控件库--Android Desig ...
- material design 的android开源代码整理
material design 的android开源代码整理 1 android (material design 效果的代码库) 地址请点击:MaterialDesignLibrary 效果: 2 ...
- appcompat v21: 让 Android 5.0 前的设备支持 Material Design
1. 十大Material Design开源项目 2. appcompat v21: 让 Android 5.0 前的设备支持 Material Design 主题 AppCompat已经支持最新的调 ...
- Android源码大放送之material design类型
本文转载自:http://www.apkbus.com/android-243232-1-1.html 鉴于大家对源码的渴望,就算自己辛苦一点也要满足大家的需求,查看了几百个源码之后终于筛选出了这些精 ...
- Material Design风格的水波涟漪效果(Ripple Effect)的实现
Material Design是Google在2014年Google I/O大会上推出的一套全新的设计语言,经过接近两年的发展,可谓是以燎原之势影响着整个设计交互生态,和Material Design ...
- [原创]自定义view之:快速开发一款Material Design风格的dialog的开源项目MDDialog
随着google开始主导Material Design风格的设计,越来越多的app开始使用Material Design风格来设计自己的UI.虽然在Android Studio中集成了多种快速开发框架 ...
- Android开发实战之拥有Material Design风格的侧滑布局
在实现开发要求中,有需要会使用抽屉式布局,类似于QQ5.0的侧滑菜单,实现的方式有很多种,可以自定义控件,也可以使用第三方开源库. 同样的谷歌也推出了自己的侧滑组件——DrawLayout,使用方式也 ...
随机推荐
- IOS深入学习(21)之Key-value coding
http://blog.csdn.net/developer_zhang/article/details/12840567 1 前言 本节我们主要介绍键值编码,以及如何使一个类符合KVC编码. 2 详 ...
- 【原创】Linux环境下的图形系统和AMD R600显卡编程(5)——AMD显卡显命令处理机制
通常通过读写设备寄存器对设备进行编程,在X86系统上,有专门的IO指令进行编程,在其他诸如MIPS.SPARC这类系统上,通过将设备的寄存器映射到内存地址空间直接使用读写内存的方式对设备进行编程. R ...
- Linux下使用system()函数一定要谨慎
转载自:http://my.oschina.net/renhc/blog/53580 linux尽量避免使用system. 曾经的曾经,被system()函数折磨过,之所以这样,是因为对syste ...
- python2 登录带验证码的页面
#!/usr/bin/python#-*- coding: utf-8 -*- import os,json;import urllib,urllib2;import cookielib; #获取co ...
- python接口自动化4-绕过验证码登录(cookie)【转载】
本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/python%E6%8E%A5%E5%8F%A3%E8%87%AA%E5%8A%A8%E ...
- cdq分治浅谈
$cdq$分治浅谈 1.分治思想 分治实际上是一种思想,这种思想就是将一个大问题划分成为一些小问题,并且这些小问题与这个大问题在某中意义上是等价的. 2.普通分治与$cdq$分治的区别 普通分治与$c ...
- FZU-2270 Two Triangles(两个三角形全等)
原题地址: 题意: 给出n个点,有两个人,每个人可以选3个点,问有多少种情况是可以找出两个三角形,是可以通过旋转使其全等. 思路: 所以首先要是三角形即三点不能共线,其次要全等,即三条边对应相等, ...
- 树链剖分【p2590】[ZJOI2008]树的统计
Description 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w. 我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. ...
- Maximum Product of Word Lengths -- LeetCode
Given a string array words, find the maximum value of length(word[i]) * length(word[j]) where the tw ...
- 3.1常用类(java学习笔记)包装类及日期类
一.包装类 java是一门面向对象的语言,秉承一切皆对象的思想. 可java中有一些基本数据类型并不是对象,有时可能需要将它们变为对象. 这时就需要用到我们的包装类了. 基本数据类型 包装类 int ...