Android Programming: Pushing the Limits -- Chapter 4: Android User Experience and Interface Design

User Stories
Android UI Design
附加资源

User Stories:

@、通过写故事来设计应用。

@、每个故事只关注一件事。

@、不同的故事可能使用相同的组件,因此尽早地对故事进行分类。

@、把目标用户构想到故事里,描述他们的基本特征,会在什么时候、什么地点使用该应用等信息,因此来确定故事的优先级。

Android UI Design:

@、构思应用需要展示的界面及内容,不需要详细的界面设计。

@、确定各界面的跳转关系。

@、用户界面原型设计,可通过工具进行,比如Android Studio。

Android UI Elements:

@、尽可能使用已经存在的widget(在android.widget包里)。

Pure Android:http://developer.android.com/design/patterns/pure-android.html

@、文字

how you express your message in text matters, which is described in detail in the Writing Style section found here: http://developer.android.com/design/style/writing.html.

1、  字体:使用容易辨别的字体,装饰性字体最好限于Logo等。推荐使用Roboto字体。

2、  字数:一行的字数控制在45到72个字符(characters)。

3、  单位:文字大小使用sp作为单位。

4、  大小:

@、颜色

1、A great resource for interpreting what different colors mean in different cultures is the color wheel by David McCandles, which you can find at

http://www.informationisbeautiful.net/visualizations/coloursin-cultures

1、  The Android Design Guidelines (see http://developer.android.com/design/style/color.html)

2、  A great tool for checking how your image looks to someone who is color blind is Vischeck, which you can find at http://www.vischeck.com. This tool also lets you correct an image with regard to color blindness.

@、图片和图标

1、  尽可能使用标准图标,因为用户已经习惯了,不要让用户花时间来了解图标的含义。

2、  图标:http://developer.android.com/design/style/iconography.html

3、  设计图标时用到的元素能够让用户立马与实际物品关联上。

@、添加游戏元素,让使用应用的人获得奖励。

附加资源:

书籍:

Weinschenk, Susan M., Ph.D. 100 Things Every Designer Needs to Know About People. New Riders, 2012.

Krug, Steve. Don’t Make Me Think: A Common Sense Approach to Web Usability, 2nd Edition. New Riders, 2005.

Lehtimäki, Juhani. Juhani Lehtimäki. Smashing Android UI. Wiley, 2012

网址:

Android Design at

http://developer.android.com/design/index.html

The Easy Way to Writing Good User Stories at

http://codesqueeze.com/the-easy-way-towriting-good-user-stories/

Susan M. Weinschenks blog on how people think and behave:

http://www.blog.theteamw.com

The Android Developers YouTube channel, specifically the Android Design in Action episodes:

http://www.youtube.com/user/androiddevelopers

时间: 2024-10-13 23:26:07

Android Programming: Pushing the Limits -- Chapter 4: Android User Experience and Interface Design的相关文章

Android Programming: Pushing the Limits -- Chapter 7:Android IPC -- Messenger

Messenger类实际是对Aidl方式的一层封装.本文只是对如何在Service中使用Messenger类实现与客户端的通信进行讲解,对Messenger的底层不做说明.阅读Android Programming: Pushing the Limits -- Chapter 7:Android IPC -- AIDL了解如何使用Aidl的方式实现服务端与客户端的通信. 在Service中使用Messenger,大部分代码还是跟Android的消息机制打交道,具体一点就是跟Handler,Mes

Android Programming: Pushing the Limits -- Chapter 7:Android IPC -- ApiWrapper

前面两片文章讲解了通过AIDL和Messenger两种方式实现Android IPC.而本文所讲的并不是第三种IPC方式,而是对前面两种方式进行封装,这样我们就不用直接把Aidl文件,java文件拷贝到客户端了,而是为客户端提供一个aar(Anroid Archive)包.通过这个aar包对AIDL或者Messenger进行封装,最终客户端就可以像调用一般的java类一样,而不用处理通信方面的内容.(实际上书中说是要打包成jar包,但是在新建的Java Library Module中,我没能成功

Android Programming: Pushing the Limits -- Chapter 7:Android IPC -- AIDL

服务端: 最终项目结构: 这个项目中,我们将用到自定义类CustomData作为服务端与客户端传递的数据. Step 1:创建CustomData类 package com.ldb.android.example.aidl; import android.os.Parcel; import android.os.Parcelable; import android.util.Log; import java.util.ArrayList; import java.util.Date; impor

Android Programming: Pushing the Limits -- Chapter 5: Android User Interface Operations

多屏幕 自定义View 多屏幕 @.Android 4.2 开始支持多屏幕. @.举例: public class SecondDisplayDemo extends Activity { private Presentation mPresentation; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.lay

Android Programming: Pushing the Limits -- Chapter 3: Components, Manifests, and Resources

Android Components Manifest文件 Resource and Assets v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} Normal 0 false 7.8 磅 0 2 false false false EN-US ZH-CN X-N

Android Programming: Pushing the Limits -- Chapter 2: Efficient Java Code for Android

Android's Dalvik Java 与 Java SE 进行比较 Java代码优化 内存管理与分配 Android的多线程操作 Android’s Dalvik Java 与 Java SE 进行比较: @.Dalvik虚拟机是register-based machine:Java SE虚拟机是stack machine. @.从Android 2.2 版本开始引进JIT(Just In Time)编译器,之前是纯解释器. @.Android SDK 使用dx这个工具把Java SE s

Android Programming: Pushing the Limits -- Chapter 1: Fine-Tuning Your Development Environment

ADB命令 Application Exerciser Monkey Gradle ProGuard 代码重用 版本控制 静态代码分析 代码重构 开发者模式   ADB命令: @.adb help:查看adb命令. @.adb devices:列出所有连接的安卓设备和模拟器. @.adb push <local> <remote> 把计算机里的文件拷贝到设备中. adb push e:\test.xml /sdcard/files.ldb/ @.adb pull <remot

Android Programming: Pushing the Limits -- Chapter 6: Services and Background Tasks

什么时候使用Service 服务类型 开启服务 后台运行 服务通信 附加资源 什么时候使用Service: @.任何与用户界面无关的操作,可移到后台线程,然后由一个Service来控制这个线程. 服务类型: @.First is the one that performs work for the application independent of the user’s input. 如:后台执行的音乐播放器. @.The other type of Service is one that’s

[iOS翻译]《iOS 7 Programming Pushing the Limits》系列:你可能不知道的Objective-C技巧

简介: 如果你阅读这本书,你可能已经牢牢掌握iOS开发的基础,但这里有一些小特点和实践是许多开发者并不熟悉的,甚至有数年经验的开发者也是.在这一章里,你会学到一些很重要的开发技巧,但这仍远远不够,你还需要积累更多的实践来让你的代码更强力. /* 本文翻译自<iOS 7 Programming Pushing the Limits>一书的第三章“You May Not Know”,想体会原文精髓的朋友请支持原书正版. ——————(博客园.新浪微博)葛布林大帝 */ 目录: 一. 最好的命名实践