本博客主要内容来源于 Suzanne Alexandra 的 MOTODEV 英文博客 Android Tablet UI Patterns #1: Center Stage 

我们曾经讨论过为Motorola XOOM 来开发Adroid平板电脑的应用,许多人对UI模式感兴趣。UI模式很容易实现,它给你一个简单,可重复的方法来解决设计问题。UI设计模式为你提供了编译的内容和认知科学对此的解释。我们将进一步深入并重点介绍一些有用的Android开发技巧。

本文将讲述第一种模式,我称之为中心舞台模式(Center Stage)。 它简单,但在平板电脑上很有效,也能在智能手机上工作。

为何需要中心舞台模式

你肯定希望能有效地使用平板电脑上的屏幕空间。 平板电脑上有大的或超大的屏幕,且经常用于横屏模式。你希望你的应用视觉效果更吸引人,更容易让人留下深刻印象。中心舞台模式就是关于如何使用屏幕中心区域,特别是在单面板横屏布局上。

请记住人类大脑定律第10条:视觉比其它感觉更优越. 人类是主要依赖视觉的生物。我们的大脑很容易记住图像并对图像进行回应,所以图片是很容易让人留下深刻记忆的。 当布局扩展到更大的屏幕上时,小的图像或文字显示在太大的空间上,使得空白的屏幕显得比内容更突出。

你应当尽力避免下面的效果-我称它为拉伸效应(Spread),这种布局只能在更小的屏幕上有好的效果,在平板电脑上会拉伸并留出很多空白的空间。

在这个活动(activity)中,视图是通过在一个 RelativeLayout视图中使用alignParentRightalignParentLeft 来编排的。 只要 活动 根据屏幕大小和分辨率缩放,这种拉伸效应也会出现在LinearLayoutTableLayoutGridView 或其它布局中。

如何实现

 

在单面板布局中,特别是有内容或多面板屏幕,把最重要的内容放到或靠近中心位置,把控制键,元数据,活动条等等放到它的周围。内容可以允许编辑或可以简单地显示。精心选择边上的部件,不要让它们簇拥在一起。

当内容而不是导航或分类列表时使用这种模式是主要的焦点。它可以在多屏,深度内容屏幕或单屏应用上使用。(这不是单面板屏幕的唯一模式。对角,水平或垂直平衡模式也可以用)


开发技巧

在平板上,对更大的屏幕尺寸,你需要更多的布局方式,特别是在单一面板上不使用碎片来显示活动。(是的,我们热衷于使用UI来适应不同屏幕,但有时平板需要不同的布局方式)

定制布局更快更容易,它允许你在多个文件间复用布局要素。 <include /> 标签对Android来说不是新事物,在 Android Developers blog 就有它的介绍。下面的例子是一个带includes 标签的布局:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
 
     <ImageView android:id="@+id/myimage" ... />
         
     <include android:id="@+id/metadata" layout="@layout/metadata"  />
     <include android:id="@+id/mediacontrol" layout="@layout/mediacontrol" />
   
</RelativeLayout>

你可重载任何一个<include />中声明的  android:layout_* 属性,你还可以移动部件并根据不同的布局改变它的大小。

但这也会带来一个难题:当你重载布局的属性时,要确保在重载布局属性时,也重载 android:layout_width 和android:layout_height。 这样可以确保所有的属性可以被LayoutInflater 类识别。 (参见 this StackOverflow post )。

<include

    android:id="@+id/mediacontrol"

    layout="@layout/mediacontrol"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_toLeftOf="@id/myimage"

     …    />

请参考下图的例子,在横屏和竖屏布局中,includes 标签是如何放置和改变大小的。

你可能注意到这种模式下,横屏和竖屏布局经常有细微的差别。 这个例子里,竖屏布局充分利用了垂直的空间。屏幕突出显示了相册图像,并且也很好地保持了它的比例,它甚至没有放到屏幕中心位置。

你需要设置你的应用工程,确保选择正确的布局方式。在Android3.1及以前的版本上,你可以在资源目录如res/layout-xlarge-v11 放置平板布局。在Android3.2版本上,你可以使用数字选择器(numeric selectors ),如sw600dp,sw720dp, 等等。所以要在平板上而不是智能手机上显示你的布局时,在Android3.2及更高版本上,使用res/layout-sw600dp 来设计7寸和10寸平板上的应用。

想获得更多Android平板电脑UI模式或技巧来快速开始你的Android平板开发之旅吗?如有机会可与她在10月10日 San Francisco 举办的 Android Open 会议上交流。如果你不能出席该会议,我们其后的网络研讨会上提供相应的会议视频。

Henry Yao                                                                                        Jinnan Sun

MOTODEV tech. support Engineer                                                               Product Manager

转载于:https://www.cnblogs.com/topcoderliu/archive/2011/09/15/2177614.html

Tablet UI模式: 中心舞台相关推荐

  1. 安卓运行时监听配置更改:sim卡、本地语言、键盘显示或隐藏、字体大小、UI模式、屏幕方向、屏幕布局(另一个屏幕)、可用屏幕大小(横纵向)、无屏幕大小(外接屏幕)。

    全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓运行时可以监听的配置更改:sim卡.本地语言.键盘显示或隐藏.字体大小.UI模式.屏幕方向.屏幕布局(另一个屏幕).可用屏幕大小(横纵向).无屏幕 ...

  2. autojs ui模式下画方框

    autojs ui模式下画方框 在main.js主文件中编写. "ui";deviceHeight = device.height; deviceWidth = device.wi ...

  3. 性能测试Locust--(6)非UI模式下运行Locust

    可以在没有Web UI的情况下运行Loccust. 例如,如果要以某种自动化流程(例如CI服务器)运行Locust,通过使用--no-web标记和-c和-r: $ locust -f locust_f ...

  4. SaaS 中 6 种常见 UI 入职模式

    新手入职 新手入职是用户首次尝试产品的过程,如果做得好,会引导用户走上一条关键的道路,这条道路会让他们最终成功地使用并获取到产品价值. 在 SaaS 产品中,通过免费试用吸引用户.如果用户在第一次尝试 ...

  5. React UI 组件库 Chakra UI - 02 颜色模式

    Color Mode 颜色模式 Chakra UI 内置支持管理应用程序的颜色模式,默认可配置的颜色模式有浅色模式(light).暗色模式(dark).系统模式(system). 大部分组件默认都支持 ...

  6. eazy ui 复选框单选_UI备忘单:单选按钮,复选框和其他选择器

    eazy ui 复选框单选 重点 (Top highlight) Pick me! Pick me! No, pick me! In today's cheat sheet we will be lo ...

  7. figma下载_通过构建7个通用UI动画来掌握Figma中的动画

    figma下载 Originally published on my personal blog. 最初发布在我的 个人博客上 . Most designers will spend many hou ...

  8. 【UI/UX】深度解析模态窗口

    文章目录 前言 定义 用法 吸引用户注意力 需要用户输入 在界面环境中显示其他信息 显示其他信息(不在界面环境中) 模态窗口的剖析 逃生出口 描述性标题 按钮 尺寸和位置 焦点 用户启动 移动模式 辅 ...

  9. 将 React 作为 UI 运行时

      宿主树 大多数教程把 React 称作是一个 UI 库.这是有道理的,因为 React 就是一个 UI 库.正如官网上的标语所说的那样-构建用户界面的库. 但是本篇文章将以一种不同的方式来讲述 R ...

最新文章

  1. 职业规划要结合用人单位需求。
  2. 第0周作业2:博客阅读和思考
  3. 深入理解Presto
  4. 武汉大学计算机学院的李明,李明副研究员
  5. 大数据可视化案例分析_Tableau数据可视化分析案例
  6. ELK之日志收集filebeat,并对nginx,tomcat access日志JSON格式化
  7. php 特有,PHP特殊数据类型有哪些?原来这门编程语言如此有趣
  8. mysql5.7.20官方文档,MySql 5.7.20安装及data和my.ini文件的配置
  9. Mac上的MySQL可视化工具总结
  10. HTTP的REST服务简介
  11. c语言实现顺序表(详细代码)
  12. 使用fiddler对android手机抓包
  13. 大数据第三季--sqoop(day1)-徐培成-专题视频课程
  14. matlab仿真高尔顿正态分布源码,童年趣话:从弹珠台到高斯分布
  15. 用python计算内部收益率
  16. 什么是模式识别,模式识别概念的基本介绍
  17. Windows 2003安装和配置活动目录服务
  18. 2021-06-13
  19. 计算机桌面备份在哪里,电脑备份文件在哪里
  20. 三层交换工作原理及配置过程

热门文章

  1. 微信小应用资源汇总整理
  2. cisco packet tracer实验案例-重置路由器ENABLE特权密码
  3. Java获取硬盘信息
  4. [转载]在 WPF 專案中開啟 Blend
  5. 一次恢复outlook express通讯录文件*.wab的经历
  6. python 复数幂_python基础学习——运算符(1)
  7. 软件测试工程师-HTML
  8. 性能测试测试环境与生产环境_不在生产中测试? 在生产中进行测试!
  9. 用开源代码如何建立网站_糖尿病患者找到开源并建立自己的医疗设备
  10. 数字签名开源_开源如何推动数字艺术时代