`
ctfzh
  • 浏览: 31874 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Android UI 设计秘笈

阅读更多

好的UI设计可以帮助我们卖出更多拷贝,赚到更多钱^_^.

Android 的官方开发者博客发了一份幻灯片(www.slideshare.net/AndroidDev/android-ui-design-tips),介绍了一些 Android UI 设计的小贴士.
这个 PPT 包含5个部分:
1>该做什么,不该做什么
2>设计哲学和考量
3>你必须了解的 UI 框架特性
4>新的 UI 设计模式
5>图标和准则

Don’t:
1>不要照搬你在其它平台的UI设计,应该让用户感觉是在真正使用一个 Android 软件,在你的商标显示和平台整体观感之间做好平衡
2>不要过度使用模态对话框
3>不要使用固定的绝对定位的布局
4>不要使用px单位,使用dp或者为文本使用sp
5> 不要使用太小的字体

Do:
1> 为高分辨率的屏幕创建资源(缩小总比放大好)
2> 需要点击的元素要够大
3> 图标设计遵循 Android 的准则
4> 使用适当的间距(margins, padding)
5> 支持D-pad和trackball导航
6> 正确管理活动(activity)堆栈
7> 正确处理屏幕方向变化
8> 使用主题/样式,尺寸和颜色资源来减少多余的值
9>和视觉交互设计师合作!!!

设计哲学:
1> 干净而不过于简单
2> 关注内容而非修饰
3> 保存一致,让用户容易投入其中,可附加少许变化
4> 使用云端服务(存储和同步用户资料)来加强用户体验

优秀界面的设计准则:
1> 关注用户
2> 显示正确的内容
3> 给予用户适当的回馈
4> 有章可循的行为模式
5> 容忍错误

关注用户:
1> 了解你的用户(年龄,技能,文化,对你的应用的需求,使用的设备,何时何地如何使用设备)
2> ‘用户优先’的设计心态 (用户通常是任务导向的行为模式)
3> 更早,更频繁的由真实用户来测试

显示正确的内容:
1> 最常用的操作需要最快被用户看到并且可用
2> 不太常用的功能可以放到菜单里面

给予用户适当的回馈:
1> 交互式的UI元素最少需要反映出4种不同的状态 (default,disabled,focused,pressed)
2> 保证操作的结果是清晰可见的
3> 多给予用户进度提示,但是不要干扰他们当前的操作

有章可循的行为模式:
1> 行为模式遵循用户的期望(正确的操作活动堆栈,显示用户期望看到的信息和动作)
2> 使用合适的方式来加强功能可见性(可点击的元素就应该看起来是可以点击的)
3> 如果用户完成一项任务需要复杂的操作,重新思考你的设计!!!

容忍错误:
1> 只允许有意义的操作(适当禁用一些按钮)
2> 尽量减少不可回退的操作
3> 允许回退(undo)比使用确定对话框更好(实际上,应该尽量少用确定对话框,它对用户是一种干扰)

设计考量:
1>屏幕的物理尺寸
2>屏幕密度
3> 屏幕的方向(竖向和横向)
4>主要的UI交互方式(触屏还是使用D-pad/trackball)
5>软键盘还是物理键盘
6>了解不同设备之间的相异之处是非常重要的!
7>阅读CDD,学习设备可能差异的地方
8>了解屏幕尺寸和密度分类

你必须了解(使用)的 UI 框架特性。

使用相对布局管理界面元素。
译者注:相对布局和线性布局是Android里面常用的两种布局,线性布局比较简单,而相对布局可以做出比较复杂的布局管理,所以仅仅了解线性布局,很多时候是不够的。不过以作者之前Qt的经验来看,Android里面的布局管理功能都比较阳春也不太容易使用,不过这可能是跟移动平台的性能考量有关系。

使用资源修饰符来修饰同一套资源的多个不同版本。
1,一个apk包里面会包含所有的资源文件。
2,系统在运行时会根据软硬件环境来自动选择相应修饰符版本的资源。
译者注:最常用的修饰符可能是locale修饰符(制作多语文本),dpi修饰符(为不同密度的屏幕制作不同尺寸的图标和皮肤),orientation修饰符(为横屏和竖屏提供不同的UI布局)。如果系统找不到对应的修饰符版本,它就会选择无修饰符的版本,这个版本通常也是所谓的默认选择。

使用 9-patch drawables – foo.9.png
1,9-patch drawables 的语法跟CSS3 border image 类似
2,根据边缘的像素宽度切割出不同的拉伸区域
3,最好同时提供 mdpi 和 hdpi 的版本
译者注:drawables 在 Android 里面跟 WPF 里面的 Drawing 类似,用于定义一个可绘制的对象,包括位图,刷子,填充颜色或者以上物件的组合等等。所谓 9-patch drawables,就是将一个 drawable 按照定义的 4 个边缘的宽度大小切割成9个区域,包括4个角落,4条边缘和一个中心区域,当把这个 drawable 绘制到一个任意矩形区域时,drawable 的各个区域有不同的拉伸控制(角落不拉伸,横边横向拉伸,竖边竖向拉伸,中心区域横竖向都拉伸)。通常使用 9-patch drawable 一般是为了绘制出比较漂亮的带圆角背景,这样可以避免圆角及边缘被任意拉伸导致变形。当然,如果你的程序里面绘制的图像和目标区域大小完全一样,就不需要那么麻烦,不过以 Android 的状况来说,为了适应多种设备,最好不要事先假设目标区域的像素大小。

使用状态列表和多层叠加来制作具备复杂效果的可绘制图像
使用 Selector (state list) drawables (状态列表)来提供不同状态(normal,disabled,focused,pressed…)下的绘制图像.

使用 Layer drawables (多层叠加)来制作具备复杂效果的可绘制图像。
译者注:所谓多层叠加,使用PS来制作图标和皮肤的同学可能都清楚,比如说一个按钮的PS模板通常会包括所谓的background层定义底色,mask层定义轮廓,shine层定义前景的高亮效果。而 Android 里面允许你直接在 XML 脚本里面使用 Layer drawables 的语法来定义上述的多层叠加效果,这样可能比在PS里面直接做好要更灵活一些,并且有的层可以是来自png位图,有的层可以是直接通过 XML 脚本生成(比如纯色,过渡色等等)。

分享到:
评论

相关推荐

    Android UI 设计秘笈.docx

    在Android UI设计中,遵循一套有效...总之,Android UI设计秘笈强调了设计的适配性、易用性、一致性和用户友好性。遵循这些原则,开发者可以创建出既美观又实用的Android应用,提升用户体验,从而促进应用的市场表现。

    androidUI设计秘籍

    在Android UI设计中,开发者需要重视用户界面的构建,因为良好的UI设计直接影响用户对软件的第一印象,进而影响软件评分、排名以及下载量,最终关系到商业成功。以下是一些关键的设计原则和准则: **五不要**: 1. ...

    Android_UI_设计秘笈

    《Android UI设计秘笈》是一本深入探讨Android用户界面设计的专业指南,由资深专家分享其心得体验。本书强调了良好的UI设计对于应用成功的重要性,因为它能够提升用户体验,从而增加销售和盈利。书中详细介绍了五个...

    andriod_UI_秘笈

    Android官方提供了一份UI设计秘笈,旨在帮助开发者打造更符合Android平台特性的优质界面。以下是对这份秘笈的详细解读: 首先,开发者需要注意“该做什么,不该做什么”。避免将其他平台的UI设计直接移植到Android...

    扁平化UI设计要注意的要素有什么?为你分享秘籍.pdf

    例如,Windows、iOS和Android等操作系统均采用扁平化设计语言,如Material Design和Modern UI。 2. **简化图形**:扁平化设计中,图形应尽量简化,避免复杂的视觉干扰。设计师需要提炼图形的基本形态,通过线条和色...

    android工程师面试秘笈

    这份"android工程师面试秘笈"涵盖了面试中常被问及的重要知识点,旨在帮助求职者准备充分,应对各种挑战。以下是一些关键的Android开发技术及其相关问题的概述: 1. **Android体系结构**:了解Android系统的组件,...

    android开发秘籍源码

    3. **UI设计**:使用XML布局文件来构建用户界面,包括LinearLayout、RelativeLayout、ConstraintLayout等布局管理器,以及各种View和ViewGroup。理解主题和样式,以及如何自定义控件。 4. **数据存储**:学习SQLite...

    android大师秘笈

    Android UI设计也是书中的重要部分。可能包括了布局管理器如LinearLayout、RelativeLayout、GridLayout和ConstraintLayout的用法,以及自定义View的实现,这些都是构建用户友好界面的关键。另外,还会涉及触摸事件...

    android开发秘籍

    三、UI设计与布局 Android提供了丰富的视图组件,如TextView、Button、ImageView等,开发者可以使用XML布局文件来定义界面结构。此外,还可以利用ConstraintLayout、RelativeLayout、LinearLayout等布局管理器实现...

    android 开发秘籍

    标题和描述中提到的“Android开发秘籍”,虽然在给定的部分内容中并未具体阐述相关知识点,但我们可以根据这一主题,深入探讨与Android开发相关的关键技术和实践策略。Android开发是移动应用开发领域的一个重要组成...

    如何開發Android 應用框架:EIT 門派秘笈 高焕堂

    高焕堂的"如何開發Android 應用框架:EIT 門派秘笈"为我们揭示了这个过程中的诸多技巧和策略。这本书或教程可能涵盖了一系列主题,旨在帮助开发者提升Android应用的开发效率和质量。以下是对这些知识点的详细解读: ...

    android秘籍

    以上只是部分可能涵盖的知识点,实际的"android秘籍"可能会更全面,包括最新的开发趋势和技术,如Android 12的新特性、Material Design 3设计指南、Jetpack Compose等。对于希望提升Android开发能力的人来说,这是一...

    GETUI_SERVER_SDK.zip

    《GETUI_SERVER_SDK.zip——构建高效手机推送服务的秘籍》 在当今移动互联网时代,手机推送服务已经成为了各类应用程序不可或缺的功能,它能够实时、精准地将信息传递给用户,提高用户活跃度与黏性。GETUI_SERVER_...

    appium秘籍(实际操作,带源码)

    在Appium秘籍中,还会介绍一些进阶技术,如UI Automator的高级应用,这是Android特有的自动化测试技术。同时,对于混合应用框架的开发也有涉及,混合应用是一种将Web应用和原生应用特性结合起来的移动应用类型,这...

    uni-app自定义组件开发秘籍:构建可复用UI元素

    uni-app 是一个使用 Vue.js 开发跨平台应用的框架,它允许开发者编写一次代码,然后发布到不同的平台,包括 Web、iOS、Android、以及各种小程序平台(如微信/支付宝/百度等小程序)。uni-app 由 DCloud 公司开发和...

    Flutter性能优化秘籍:让应用飞起来

    Flutter是一个由Google开发的开源移动UI框架,用于构建高效、高性能的iOS和Android应用程序。Flutter使用Dart语言作为开发语言,这是一门简洁、强类型、并且专为客户端应用性能设计的编程语言。 ### Flutter的主要...

Global site tag (gtag.js) - Google Analytics