1. 关于Material Design
Material Design
是从Android5.0
开始引入的,是一种全新的设计(视觉)语言(翻译为原材料设计
),其实这是谷歌提倡的一种设计风格,理念,原则。拟物设计和扁平化设计一种结合体验。还吸取了最新一些科技理念。
层次感: View
Z轴
- 对于美工: 遵循
MD
的界面设计,图标合集
- 对于美工: 遵循
- 对于产品经理: 遵循
MD
界面设计,页面的跳转及动画效果,交互设计,
- 对于产品经理: 遵循
-
- 对于开发人员:参与原型设计,辅助美工原型设计的素材准备。
- 开发实现
MD
的设计 --- 界面,动画,转场动画等等
二. MD的使用以及开发
谷歌开发以及收集了一些最新的开源项目(很多是自己开发的),汇集到最新的support
兼容支持包,以及最新的API
里面。
preference:
设置页面,可以通过配置文件达到界面设计的效果。
-
android-support-v4:
最低兼容到Android 1.6
系统,里面有类似ViewPager
等控件。 -
android-support-v7:
appcompat
、CardView
、GridLayout
、mediarouter
、palette
、preference
、RecyclerView
(最低兼容到3.0
)
最低兼容到Android2.1
的系统,这个工程可以让开发人员统一开发标准,在任何的系统版本下保证兼容性。(比如:Theme,value,布局,新的控件,新的动画特效实现),所以现在Android Studio一般都会直接创建项目的时候就直接帮你新建或者引入了一个叫做appcompat的项目。
这里可能会碰到很多问题:
- 自动导入的appcompat-v7项目自身就是报错的,什么原因?build的版本太低了,要么是SDK很新但是兼容包没有更新。
- appcompat-v7好不容易没报错,但是项目报错,一看控制台:报appcompat里面的某个res/values/theme/xxx属性不存在 等等问题。 什么原因?因为你引入的是很新的appcompat-v7项目,它要求必须很高的版本编译,然而Eclipse很蛋疼,在引入该项目的主项目编译的时候也必须要达到这个很高的版本---直接使用最高版本编译)
现在一般做开发都是最低兼容到4.4.2
SDK升级:API升级,兼容包的升级,工具升级
版本:
- compileSDK:编译的版本
- minSDK:兼容到最低版本是多少
- targetSDK:目标SDK
1. Material Design控制项目全局样式
为什么要用appcompat项目,因为里面是谷歌精心准备的---解决Android碎片化开发的问题,让App编译出来在各种高低版本之间,不同的厂商生产的ROM之间显示出来的效果UI控件有较一致的体验。
自动引入的库:implementation 'com.android.support:appcompat-v7:28.0.0'
<!--
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="Theme.AppCompat.Light">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility 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>
</style>
colorPrimary: 主色
colorPrimaryDark:主色---深色,一般可以用于状态栏颜色,底部导航栏
colorAccent:代表各个控件的基调颜色--CheckBox,RadioButton,ProgressBar等等
android:textColor:当前所有的文本颜色
参考:https://developer.android.google.cn/topic/libraries/support-library/features#v7-appcompat
https://www.cnblogs.com/zhencheng/p/7324689.html
网友评论