最近一直在看的一本书是《Android 应用程序开发权威指南》(第四版),十分推荐。书中讲到了一些用户界面设计的规范,对于初学者我认为十分有必要,在这里码给大家,希望对我们都有用。

  在我们设计用户界面的时候,我们总是很多时候通过提供自定义应用资源和代码的方法来支持特定设备配置,但有一点特别需要注意的,那就是我们必须保证我们的设计方案有足够的灵活性来应对各种变化,让他们变得简单,而不是过度的挤压他们,一下是我的一些建议:

  1. 设计正常尺寸屏幕和中等分辨率的app。随着时间的推移,设备有着向更大尺寸,更大分辨率的发展趋势。
  2. 使用Fragment来保持你的屏幕尺寸独立于你的应用的Activity类,并提供灵活的工作流程,使用Android支持库来为旧的平台版本提供更新的支持库。
  3. 对于View或者是Layout的width和height属性使用match_parent和wrap_content(也就是放弃使用fill_parent),这样可以为不同屏幕尺寸和方向变化控制大小,而不是使用固定的像素尺寸。
  4. 对于尺寸,使用灵活的单位,例如dp和sp,而不是使用固定的单位,例如px、mm和in。
  5. 避免使用AbsoluteLayout布局和其他像素固定的设置和属性。
  6. 使用灵活的布局控件,如RelativeLayout和LinearLayout、TabLayout、FrameLayout来设计屏幕,从而在纵向和横向模式下不同屏幕尺寸和分辨率不都能够做到较好的显示。尝试着用“分块工作”原则来组织屏幕内容。
  7. 将屏幕内容包装在可扩展的容器空间内,如ScrollView和ListView。通常情况下我们应当在一个方向上缩放或者伸展屏幕(垂直或者水平),而不是两者。
  8. 不要为屏幕元素、大小和尺寸提供确切的位置数值,相反,使用相对位置,权重和重力方向。在前期花费时间保证正确性可以在将来节约时间。
  9. 提供合理的高质量应用的图形,并始终保持原始的(较大的)尺寸,以保证将来可以为不用的分辨率使用不用版本的图形。图形质量和文件大小之间总是有所取舍的。找到一个合适的点,能保证在不同屏幕特性下合理的缩放图形而不会大大占用应用或者需要长时间来加载显示。更加好的话推荐使用Nine-Patch图形,它允许图形根据显示区域的大小来改变尺寸

   希望以上的一些开发规范能够帮助到大家。

BOB

【文章内容来自《Android 应用程序开发权威指南》(第四版)】如何设计兼容的用户界面的一些建议(有删改)的更多相关文章

  1. hadoop权威指南(第四版)要点翻译(4)——Chapter 3. The HDFS(1-4)

    Filesystems that manage the storage across a network of machines are called distributed filesystems. ...

  2. hadoop权威指南(第四版)要点翻译(5)——Chapter 3. The HDFS(5)

    5) The Java Interface a) Reading Data from a Hadoop URL. 使用hadoop URL来读取数据 b) Although we focus main ...

  3. 关于怎么快速学好Android应用程序开发及其其他编程语言(大牛和高手勿喷,此篇文章也适合刚入门小师弟和小师妹)

    无论你是从.NET转过来的也好 还是从PHP转过来的等等等,能看到这篇文章的人一般都是想快速转行到Android应用程序开发,希望我的这篇文章能勉励到各位的同时,也能勉励我自己. 1.编程语言基本都会 ...

  4. Android开发权威指南(第2版)新书发布

    <Android 开发权威指南(第二版)>是畅销书<Android开发权威指南>的升级版,内容更新超过80%,是一本全面介绍Android应用开发的专著,拥有45 章精彩内容供 ...

  5. Android应用程序开发之图片操作(一)——Bitmap,surfaceview,imageview,Canvas

    Android应用程序开发之图片操作(一)——Bitmap,surfaceview,imageview,Canvas   1,Bitmap对象的获取 首先说一下Bitmap,Bitmap是Androi ...

  6. Kotlin 编程语言成为其 Android 应用程序开发人员的首选语言

    今年 5 月,谷歌在 I/O 大会上宣布,Kotlin 编程语言成为其 Android 应用程序开发人员的首选语言. Kotlin 是一种面向现代多平台应用程序的编程语言,成为谷歌开发 Android ...

  7. Android应用程序开发之图片操作(二)——工程图片资源的加载及OOM的处理

    (一)工程图片资源的加载方法 在Android应用程序开发之图片操作(一)中,详细说明了如何操作各种资源图片,只是有的没有附上示例代码,在此,我将针对项目工程中的图片资源的显示加载进行说明.官方说明, ...

  8. Visual C++2010开发权威指南 中文高清PDF - VC.NET

    第一部分  Visual C++ 2010开发与新特性第1章  Visual C++ 2010开发环境简介 11.1  Visual C++ 2010简介 11.2  Visual C++ 2010下 ...

  9. Android编程权威指南第三版 第32章

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_35564145/article/de ...

随机推荐

  1. Android中使用POI加载与显示word文档

    最近打算实现一个功能:在Android中加载显示Word文档,当然这里不是使用外部程序打开.查看一些资料后,打算采用poi实现,确定了以下实现思路: 将ftp中的word文档下载到本地. 调用poi将 ...

  2. Android 开发有用代码积累

    Android开发需求变化快,开发周期要求尽量短,接下来一系列文章从实际使用出发总结一些常用的代码片段,便于查找,也为后来人提供一份参考. 1.获取Manifest的基本信息(升级页面和软件关于页面一 ...

  3. Django--models连表构建

    需求 models多表(一对多.多对多.一对一)的构建 速查 1.一对多 1 2 3 class User(models.Model):     name = models.CharField(max ...

  4. Winform自定义窗体样式,实现标题栏可灵活自定义

    最近在编写C/S结构应用程序时,感觉窗体的标题栏样式太死板了,标题文字不能更改大小.颜色.字体等,按钮不能隐藏等问题,在网上也查找了许多相关的资料,没有找到合适的解决方案,发现许多人也在寻求这个问题, ...

  5. (8)分布式下的爬虫Scrapy应该如何做-图片下载(源码放送)

      转载主注明出处:http://www.cnblogs.com/codefish/p/4968260.html 在爬虫中,我们遇到比较多需求就是文件下载以及图片下载,在其它的语言或者框架中,我们可能 ...

  6. ChartDirector应用笔记(二)

    关于Simple Bar Chart Simple bar chart是XYChart大类中的Bar chart类型中的最简单的例子.Bar chart的表现形式简单直观,在数据量较少.数据维度简单等 ...

  7. ASP.NET MVC5--添加验证

    1.在Model类里面添加验证,代码如下: public class Movie { public int ID { get; set; } [StringLength(,MinimumLength= ...

  8. Hyperion Business Modeling for Microsoft Windows (32-bit)

    介质包搜索 常见问题    说明   复查 许可证列表 以确定需要下载的产品程序包. 请选择产品程序包和平台,然后单击“查找”. 如果只有一项结果,则可以看到下载页.如果有多个结果,请选择一个,然后单 ...

  9. Dev gridView中设置自适应列宽和日期显示格式、金额的显示格式

    在Dev GridView控件中,数据库中表数据日期都是长日期格式(yyyy-MM-dd HH:mm:ss),但显示在控件变成短日期格式(yyyy-MM-dd),金额显示要显示精确的数值, 比如80. ...

  10. PHP学习笔记:对命名空间(namespace)学习资料的翻译

    Name collisions means: you create a function named db_connect, and somebody elses code that you use ...