Google Material Design 设计分享

2024-05-28 15:08

本文主要是介绍Google Material Design 设计分享,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

Material design 核心思想是把物理世界的体验带进屏幕...还原最贴近真实的体验,达到简洁与直观的效果。

详情请参阅:https://developer.android.com/design/

 

Google对app设计的一些要求案例:

1.用于Google Play列表的高分辨率图标似乎是来自非Android平台(例如非常圆角)的设计转义。在设计Android图标时,请考虑使用不同的形状

欲了解更多信息:

http://www.google.com/design/spec/style/icons.html#icons-product-icons 

2.Android平台使用者所预期的分页切换方式,是轻触分页标题或从荧屏边缘滑动

详情请参阅:

http://developer.android.com/design/building-blocks/tabs.html#scrollable

https://developer.android.com/reference/android/support/v4/view/ViewPager.html

3.排查项目配置文件中,是否有多余的敏感权限,如果有可选择删除

详情请参阅:http://developer.android.com/distribute/essentials/quality/core.html#fn

4.权限弹窗处理 ,如果使用者拒绝授予某项权限,请不要直接将使用者导向程式设定界面,而应该说明为什么程式需要这项权限才能运作

详情请参阅:https://material.io/design/platform-guidance/android-permissions.html#denied-permissions

5.为了与Android平台规范保持一致,请避免模仿与其他平台相关的UI元素,转义或特定行为,例如正确指向插入符号

https://material.io/guidelines/platforms/platform-adaptation.html
https://design.google.com/icons 

6.应用程序的targetSdkVersion必须被设置到最新版本(目前为27),以确保最新的平台行为和应用正确的默认视觉主题

7.应用栏应该蒙上了一层阴影

8.应用程序不应通过展示5星级的图形文字直接或间接索要5星评级,因为这违反了Play商店政策

google对app的设计要求比较严格,以上列出八点但不局限于这八点。

 

再来说说控件的使用,列举Material design设计推荐的一些控件:

约束布局:ConstraintLayout

https://developer.android.com/reference/android/support/constraint/ConstraintLayout

卡片式布局:CardView

https://developer.android.com/reference/android/support/v7/widget/CardView

头部应用:Toolbar

https://developer.android.com/reference/android/widget/Toolbar

应用列表:RecyclerView

https://developer.android.com/reference/android/support/v7/widget/RecyclerView

下拉刷新:SwipeRefreshLayout

https://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout

悬浮按钮:FloatingActionButton

https://developer.android.com/guide/topics/ui/floating-action-button

文本输入框:TextInputLayout

https://developer.android.com/reference/android/support/design/widget/TextInputLayout

开关:SwitchCompat

https://developer.android.com/reference/android/support/v7/widget/SwitchCompat

标签栏:TabLayout

https://developer.android.com/reference/android/support/design/widget/TabLayout

导航菜单:NavigationView

https://developer.android.com/reference/android/support/design/widget/NavigationView

侧滑抽屉:DrawerLayout

https://developer.android.com/training/implementing-navigation/nav-drawer

 

另外再说一下布局的阴影效果和按钮的点击效果:

设置阴影我们可以在布局控件中添加这两个属性:

android:elevation="1dp"

app:elevation="1dp"

布局点击波浪效果可以在控件中添加这个属性:

android:foreground="?android:attr/selectableItemBackground"

按钮点击波浪效果: style="@style/HeadBarStyle"

<!-- 头部应用栏按钮点击效果 -->
<style name="HeadBarStyle"><item name="android:layout_width">wrap_content</item><item name="android:layout_height">wrap_content</item><item name="android:layout_margin">8dp</item><item name="android:padding">8dp</item><item name="android:scaleType">centerInside</item><item name="android:background">@drawable/drawable_head_back_bg</item>
</style>

drawable-v21目录下存放drawable_head_back_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"android:color="?android:colorAccent"><item><shape android:shape="oval"><solid android:color="?android:colorPrimary"></solid></shape></item>
</ripple>

这里额外说明一下,Google对一些布局控件的宽高是有规范可参考的

详情链接:https://material.io/design/layout/spacing-methods.html#touch-click-targets

 

最后再送上一波福利,关于Material design图标设计,这里给大家引荐一个Material design图标的网址和Androidstudio的一个Material design Icon插件:

图标参考网址: https://www.materialpalette.com/icons

图标颜色可自定义,大小dp可选择,点击“OK”后图标自动保存至你的项目drawable各个目录下,超级方便且实用。

 

 

 

当app在符合Material design 设计后,它还有机会可以被google推荐至GooglePlay商店本周推荐哦~

 

有关Material Design的更多信息,请参阅:  https://material.io

 

这篇关于Google Material Design 设计分享的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1010911

相关文章

Python中你不知道的gzip高级用法分享

《Python中你不知道的gzip高级用法分享》在当今大数据时代,数据存储和传输成本已成为每个开发者必须考虑的问题,Python内置的gzip模块提供了一种简单高效的解决方案,下面小编就来和大家详细讲... 目录前言:为什么数据压缩如此重要1. gzip 模块基础介绍2. 基本压缩与解压缩操作2.1 压缩文

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

Python虚拟环境与Conda使用指南分享

《Python虚拟环境与Conda使用指南分享》:本文主要介绍Python虚拟环境与Conda使用指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、python 虚拟环境概述1.1 什么是虚拟环境1.2 为什么需要虚拟环境二、Python 内置的虚拟环境工具

MyBatis设计SQL返回布尔值(Boolean)的常见方法

《MyBatis设计SQL返回布尔值(Boolean)的常见方法》这篇文章主要为大家详细介绍了MyBatis设计SQL返回布尔值(Boolean)的几种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴... 目录方案一:使用COUNT查询存在性(推荐)方案二:条件表达式直接返回布尔方案三:存在性检查(EXI

Python处理大量Excel文件的十个技巧分享

《Python处理大量Excel文件的十个技巧分享》每天被大量Excel文件折磨的你看过来!这是一份Python程序员整理的实用技巧,不说废话,直接上干货,文章通过代码示例讲解的非常详细,需要的朋友可... 目录一、批量读取多个Excel文件二、选择性读取工作表和列三、自动调整格式和样式四、智能数据清洗五、

JDK9到JDK21中值得掌握的29个实用特性分享

《JDK9到JDK21中值得掌握的29个实用特性分享》Java的演进节奏从JDK9开始显著加快,每半年一个新版本的发布节奏为Java带来了大量的新特性,本文整理了29个JDK9到JDK21中值得掌握的... 目录JDK 9 模块化与API增强1. 集合工厂方法:一行代码创建不可变集合2. 私有接口方法:接口

电脑系统Hosts文件原理和应用分享

《电脑系统Hosts文件原理和应用分享》Hosts是一个没有扩展名的系统文件,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应... Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

Python解析器安装指南分享(Mac/Windows/Linux)

《Python解析器安装指南分享(Mac/Windows/Linux)》:本文主要介绍Python解析器安装指南(Mac/Windows/Linux),具有很好的参考价值,希望对大家有所帮助,如有... 目NMNkN录1js. 安装包下载1.1 python 下载官网2.核心安装方式3. MACOS 系统安