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内存优化的实战技巧分享

《Python内存优化的实战技巧分享》Python作为一门解释型语言,虽然在开发效率上有着显著优势,但在执行效率方面往往被诟病,然而,通过合理的内存优化策略,我们可以让Python程序的运行速度提升3... 目录前言python内存管理机制引用计数机制垃圾回收机制内存泄漏的常见原因1. 循环引用2. 全局变

Linux从文件中提取特定内容的实用技巧分享

《Linux从文件中提取特定内容的实用技巧分享》在日常数据处理和配置文件管理中,我们经常需要从大型文件中提取特定内容,本文介绍的提取特定行技术正是这些高级操作的基础,以提取含有1的简单需求为例,我们可... 目录引言1、方法一:使用 grep 命令1.1 grep 命令基础1.2 命令详解1.3 高级用法2

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

OpenCV在Java中的完整集成指南分享

《OpenCV在Java中的完整集成指南分享》本文详解了在Java中集成OpenCV的方法,涵盖jar包导入、dll配置、JNI路径设置及跨平台兼容性处理,提供了图像处理、特征检测、实时视频分析等应用... 目录1. OpenCV简介与应用领域1.1 OpenCV的诞生与发展1.2 OpenCV的应用领域2

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文件二、选择性读取工作表和列三、自动调整格式和样式四、智能数据清洗五、