用户体验之道---决胜UI
2013-09-26 18:19
225 查看
想必大家对安卓UI都有了许多的见解,在今天这个处处强调「用户体验」的设计时代,可以说谁抓住了用户的感官,谁就获得了产品在市场中的先机。
乔布斯语:“用户确实是会以貌取物的。”在Android开发设计中,虽然大多数开发者都不做美工的工作,但为了更好的实现个人发展和沟通能力,要求大家必须对UI设计有所涉猎。今天,希望从一些简单基础的实例入手分析,和大家一起讨论UI的优化、改良。
【一】优化资源
相信没有谁在编程过程中没有使用过Drawable资源。那么,这些res目录下的,貌似重复的文件夹具体意思是什么?具体覆盖的资源指向是什么?是哪一个版本提供的?相信没有多少人能注意到这些细节。但细节决定品质,想想你手机上被你删除的程序,有多少是因为一点小bug就被抛弃了?所以我们有必要弄清它们的意义。
●res/drawable-ldpi 为120dpi左右的屏幕提供低密度资源。
●res/drawable-mdpi 为160dpi左右的屏幕提供中等密度资源。
●res/drawable-hdpi 为240dpi左右的屏幕提供高密度资源。
●res/drawable-xdpi 为320dpi左右的屏幕提供超高密度资源。
因而,我们在做设计时候的归类,要根据具体的目标用户群而设计不同分辨率的图片。否则会遇到图片失真残影甚至内存溢出的问题。
【二】优化代码
对于一些用户程序,可能无法通过优化UI来使得它支持所有可能的屏幕尺寸。可以通过在清单文件中使用support-screens元素来指定应用程序可以运行在哪些屏幕上。
在这段代码中,smallScrenn指的是任何分辨率小于HVGA的屏幕;largescreen比智能机要大一些;extra large screen更大,比如平板电脑。而大多数智能手机屏幕都是normal screen。
*false的值并不是代表不支持,而是指强制Android使用兼容性缩放比例来尝试正确地缩放应用程序的UI。这通产会导致UI图像质量的下降,并且会显示图像伪影。
【三】更换图片处理方式
我们已经知道,Android提供了强大的NinePatch PNG 工具来使编辑者能够更方便的使用图形界面的设计。在一些图形基本构建中,我们应该尽可能的使用实时的渲染,而不是使用已有的图片。这样不仅缩小了程序的空间占有率,同时使图形处理的问题不再成为考虑的因素。
例如,下面这段代码段显示了一个矩形Drawable,它具有填充色、圆角、轮廓线和内边距。
这样,我们在引用时,直接指定@drawable/xxx 即可使用我们自定义的布局。xxx即为xml的文件名。
同样,我们也可以使用动画了填充布局。比如,我们精彩在应用程序进入时看到播放的动画,就是使用了这个原理。下面,我们来做一段动画:
先在drawable中使用一段代码,为了简单,我们只放入两张图片。
item表示每一帧的动画图片。duration属性指定了单帧停留的时间。
接着我们在java代码中onCreat()方法中指定注册动画播放。
这样就OK了。之所以把它放在Handler中执行,是因为普通的start并不能成功,因为还没有完全与控件绑定。
〖转载请注明出处 lansubao专栏〗
乔布斯语:“用户确实是会以貌取物的。”在Android开发设计中,虽然大多数开发者都不做美工的工作,但为了更好的实现个人发展和沟通能力,要求大家必须对UI设计有所涉猎。今天,希望从一些简单基础的实例入手分析,和大家一起讨论UI的优化、改良。
【一】优化资源
相信没有谁在编程过程中没有使用过Drawable资源。那么,这些res目录下的,貌似重复的文件夹具体意思是什么?具体覆盖的资源指向是什么?是哪一个版本提供的?相信没有多少人能注意到这些细节。但细节决定品质,想想你手机上被你删除的程序,有多少是因为一点小bug就被抛弃了?所以我们有必要弄清它们的意义。
●res/drawable-ldpi 为120dpi左右的屏幕提供低密度资源。
●res/drawable-mdpi 为160dpi左右的屏幕提供中等密度资源。
●res/drawable-hdpi 为240dpi左右的屏幕提供高密度资源。
●res/drawable-xdpi 为320dpi左右的屏幕提供超高密度资源。
因而,我们在做设计时候的归类,要根据具体的目标用户群而设计不同分辨率的图片。否则会遇到图片失真残影甚至内存溢出的问题。
【二】优化代码
对于一些用户程序,可能无法通过优化UI来使得它支持所有可能的屏幕尺寸。可以通过在清单文件中使用support-screens元素来指定应用程序可以运行在哪些屏幕上。
<support-screen android:smallScreens="false" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true"/>
在这段代码中,smallScrenn指的是任何分辨率小于HVGA的屏幕;largescreen比智能机要大一些;extra large screen更大,比如平板电脑。而大多数智能手机屏幕都是normal screen。
*false的值并不是代表不支持,而是指强制Android使用兼容性缩放比例来尝试正确地缩放应用程序的UI。这通产会导致UI图像质量的下降,并且会显示图像伪影。
【三】更换图片处理方式
我们已经知道,Android提供了强大的NinePatch PNG 工具来使编辑者能够更方便的使用图形界面的设计。在一些图形基本构建中,我们应该尽可能的使用实时的渲染,而不是使用已有的图片。这样不仅缩小了程序的空间占有率,同时使图形处理的问题不再成为考虑的因素。
例如,下面这段代码段显示了一个矩形Drawable,它具有填充色、圆角、轮廓线和内边距。
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:startColor="#c0000000" android:endColor="#c0000000" android:angle="90" /><!--背景颜色渐变 --> <solid android:color="#00ffffff" /><!-- 背景的填充颜色 --> <stroke android:width="3dp" android:color="#00FF00" /><!-- 描边,width是边得宽度,color是颜色 --> <corners android:radius="10dp" /><!-- 边角圆弧的半径 --> <padding android:left="3dp" android:top="3dp" android:right="3dp" android:bottom="3dp" /><!-- 四周留出来的空白 --> </shape>
这样,我们在引用时,直接指定@drawable/xxx 即可使用我们自定义的布局。xxx即为xml的文件名。
同样,我们也可以使用动画了填充布局。比如,我们精彩在应用程序进入时看到播放的动画,就是使用了这个原理。下面,我们来做一段动画:
先在drawable中使用一段代码,为了简单,我们只放入两张图片。
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:duration="400" android:drawable="@drawable/back_night" /> <item android:duration="400" android:drawable="@drawable/app_icon" /> </animation-list>
item表示每一帧的动画图片。duration属性指定了单帧停留的时间。
接着我们在java代码中onCreat()方法中指定注册动画播放。
mButton=(Button) findViewById(R.id.button1); new Handler().postDelayed(new Runnable(){ @Override public void run() { mButton.setBackgroundResource(R.drawable.demo); AnimationDrawable mButton_anim=(AnimationDrawable) mButton.getBackground(); mButton_anim.start(); } }, 50); }
这样就OK了。之所以把它放在Handler中执行,是因为普通的start并不能成功,因为还没有完全与控件绑定。
〖转载请注明出处 lansubao专栏〗
相关文章推荐
- Android用户体验团队:Android UI设计准则
- 如何改善软件的用户体验 之 颜色与UI
- 30个免费专业和有用的提高用户界面(UI)体验的PSD文件
- 用户体验和UI 设计的总结[转]
- 用户体验的时机来源:ChinaUI 作者:Lytous
- 用户体验设置和 UI 设计的 10 个不同点
- 2008 UPA用户体验中国官方推荐华章UI系列
- 用户体验&UI 实用小技巧
- 用户体验思考之UI面试
- DOClever 5.0 版本重磅发布,全新的 UI 和用户体验
- Android用户体验团队:Android UI设计准则
- 如何改善软件的用户体验 之 颜色与UI
- 用户体验设计师、UI 设计师和交互设计师之间的区别,如何挑选图书?
- Android用户体验团队:Android UI设计准则
- 网站UI:为什么丑陋的UI界面却能创造良好的用户体验?
- 最新收集的超棒Mobile/Web UI和用户体验设计
- 用户设计VS用户体验(UI,UX干货)
- 移动UI设计中需要避免的四种常见用户体验误区
- 【转】如何改善软件的用户体验 之 颜色与UI
- 用户体验设置和 UI 设计的 10 个不同点