MaterialDesign介绍和初步使用
来源:互联网 发布:mysql 查询成绩最高分 编辑:程序博客网 时间:2024/06/05 13:32
MaterialDesign介绍和初步使用
一、关于Material Design
从Android5.0开始引入的,是一种全新的设计语言(翻译为“原材料设计”),其实是谷歌提倡的一种设计风格、理念、原则。
拟物设计:IOS最开始使用,是扁平化设计一种结合体验。还吸取了最新一些科技理念。
层次感:View Z轴 (比如按下去阴影效果,加强3D效果)
- 1.对于美工:遵循MD的界面设计、图标合集。
- 2.对于产品经理:遵循MD界面设计、页面的跳转及动画效果、交互设计。
- 3.对于开发人员:参与原型设计、辅助美工原型设计的素材准备。开发实现MD的设计—-界面、动画、转场动画等等。
二、MD的使用及开发
谷歌开放以及收集了一些最新的开源的项目(很多是自己开发的),汇集到最新的support兼容支持包以及最新的5.X API里面。(preference:设置页面,可以通过配置文件达到界面设计的效果。)
(1)android-support-v4:
最低兼容到Android 1.6系统,里面有类似ViewPager等控件。
(2)android-support-v7:
appcompat;
CardView;
gridlayout;
mediarouter;
palette;
preference;
recyclerView(最低兼容到3.0)
最低兼容到Android 2.1的系统,这个工程可以让开发人员统一开发标准,在任何的系统版本下保证兼容性。(比如:Theme,value,布局,新的控件,新的动画特效实现)
所以现在ADT、AndrodStudio一般都会直接创建项目的时候就直接帮你新建或者引入了一个叫做appcompat的项目。
可能会碰到很多问题:
1.自动导入的appcompat-v7项目自身就是报错的,什么原因?
(1)build的版本太低了,要么是SDK很新但是兼容包没有更新(建议编译的时候采用6.0版本)。
(2).没有将依赖的项目作为library,而且也没有将自己的项目加入该依赖项目。
(3).multiple dex files…
appcompat/res/com.android.v7.R$anim 有文件冲突–一般是代表jar包冲突。解决方法:删掉重复的jar。
2.appcompat-v7好不容易没报错,但是项目报错,一看控制台:
报appcompat里面的某个res/values/theme/xxx属性不存在 等等问题。
原因:因为你引入的是很新的appcompat-v7项目,它要求必须很高的版本编译,然而Eclipse很蛋疼,在引入该项目的主项目编译的时候也必须要达到这个很高的版本—直接使用最高版本编译)
现在一般做开发都是最低兼容到4.0。
SDK升级:API升级、兼容包的升级、工具升级。
Android创建项目的时候版本说明:
1.compileSDK 编译版本;
2.minSDK 兼容到最低版本是多少;
3.targetSDK;
SDK更新的历史上几个特别重要的版本:14(4.0)、19(4.4)、21(5.0)
关于Eclipse项目如何导入到AndroidStudio。
1.直接导入没问题;
2.有问题,导出项目的时候应该选择gradle模式导出, 再导入到as。(这种情况下都有可能还是报错,可能是gradle版本太低了 需要升级!)
3.直接在as里面建个项目,然后把所有的资源和代码拷贝过去 就可以了!
三、实例
1.MaterialDesign控制项目全局样式
(1).引入appcompat-v7项目(包括了android-support-v7-appcompat.jar和资源文件)
(2).写自己的全局样式:
<style name="AppBaseTheme"parent="Theme.AppCompat.Light"> <!-- API 14 theme customizations can go here. --> </style> <!-- Application theme. 自定义主题风格的颜色--> <style name="AppTheme" parent="AppBaseTheme"> <!-- All customizations that are NOT specific to a particular API-level can go here. --> <item name="android:textColor">@color/mytextcolor</item> <item name="colorPrimary">@color/colorPrimary_pink</item> <item name="colorPrimaryDark">@color/colorPrimary_pinkDark</item> <item name="android:windowBackground">@color/background</item> <item name="colorAccent">@color/accent_material_dark</item> <!-- 设置虚拟导航栏背景颜色 --> <item name="android:navigationBarColor">@color/colorPrimary_pink</item> </style><!-- colorPrimary:主色, colorPrimaryDark:主色--深色,一般可以用于状态栏颜色、底部导航栏 colorAccent:(代表各个控件的基调颜色--CheckBox、RadioButton、ProgressBar等等) "android:textColor":当前所有的文本颜色 -->
在项目中,可以给不同系统版本设置对应的主题风格:
即在项目总监理values的版本:比如values-11、values-14、values-21
2.MaterialDesign兼容性控件的使用
尤其是在appcompat-V7里面有很多为兼容而生的控件
这样就可以做到高低版本和不同的ROM之间体验一致!还可以配合appcompat的主题使用达到体验一致性
(1).android.support.v7.app.AlertDialog
(2).进度条样式设置
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
(3).SwipeRefreshLayout下拉刷新
(4).弹出窗口:
PopupWindow
ListPopupWindow
PopupMenu
(5).android.support.v7.widget.LinearLayoutCompat
给包裹在里面的所有子
<android.support.v7.widget.LinearLayoutCompat android:layout_width="match_parent" android:layout_height="match_parent" app:divider="@drawable/abc_list_divider_mtrl_alpha" app:showDividers="beginning|middle" android:orientation="vertical" >
- MaterialDesign介绍和初步使用
- MaterialDesign学习篇(一),MaterialDesign的介绍
- (三十四)Palette 使用和 MaterialDesign 整合使用
- MaterialDesign使用总结
- MaterialDesign的使用
- SAS软件的使用和统计学分析的初步介绍
- SAS软件的使用和统计学分析的初步介绍
- EclipseLink学习(一)---初步介绍和使用
- Android Stdio初步使用介绍
- Dagger2初步使用及介绍
- MaterialDesign
- MaterialDesign
- MaterialDesign
- MaterialDesign
- MaterialDesign
- MaterialDesign
- MaterialDesign
- Android MaterialDesign库的使用
- docker学习笔记
- Linux下库加载问题总结
- SylixOS 启动浅析
- URL转换
- Sublime Text 2 强大的编辑功能
- MaterialDesign介绍和初步使用
- std::lock_guard std::unique_lock 区别
- JAVA通过XPath解析XML性能比较
- 1、Power Map—什么是Power Map?
- load runner 入门
- BT(带中心Tracker)通信协议的分析
- jQ点击那个栏目,给哪个栏目加样式,根据url判断
- python——操作Redis
- ios 音频输出方式不调用系统的扬声器的解决方法