原文:http://android.eoe.cn/topic/summary

Android 的系统 UI 为构建您自己的应用提供了基础的框架。主要包括主屏幕 (Home Screen)、系统 UI 栏和通知系统。

您的应用对于保持统一和美观的 Android 使用体验将起到重要的作用。本章的最后,我们将介绍在您的应用中应具有的基本结构。

通过阅读本章,您将会对 Android 用户界面里最重要的部分有一个大体的认识。

主屏幕、所有应用和最近的应用 - Home, All Apps, and Recents

主屏幕 - Home screen

主屏幕 (Home) 是一个可以自定义的放置应用图标、目录和小工具 (widget) 的地方。通过左右滑动切换不同的主屏幕面板。

收藏栏在屏幕的底部,无论怎么切换面板,它都会一直显示对您最重要的图标和目录。

通过点击收藏栏中间的“所有应用”按钮打开所有的应用和小工具展示界面。

所有应用 - All apps screen

“所有应用”界面可以浏览所有安装在您设备上的应用和小工具。

用户可以在“所有应用”中通过拖动图标,把应用或小工具放置在主屏幕的空白区域。

最近的应用 - Recents screen

“最近的应用”提供了一个高效的方式去切换最近使用的应用。它能为正在运行的任务提供清晰的导航。

“最近应用”按钮放置在导航栏的右边,点击后将会显示最近用户使用的应用。它们按照时间顺序排列,最近的放在最下面。

点击将切换到该应用,左右滑动则可以将其移除。

系统 UI 栏 - System Bars

UI 栏是屏幕上专门用于显示通知、设备通信状态和设备导航的区域。通常 UI 栏会一直和您的应用一起显示。而当应用需要全屏显示,例如播放电影和浏览图片的时候,可以临时隐藏 UI 栏,免去不必要的干扰。

  1. 状态栏

左边显示等待操作的通知,右边显示时间、电量以及信号强度等。向下滑动状态栏将显示通知的细节。

  1. 导航栏

Android 4.0 新为手机而设计的导航栏,当设备没有传统的物理按键时才会显示。它包括返回、主屏幕和最近应用按钮,当运行为 Android 2.3 或更早的系统所设计的应用时,还会显示菜单按钮。

  1. 组合栏

在平板上,状态栏和导航栏结合在一起。

通知系统 - Notifications

通知系统显示一些简要的信息,用户在任何时候都可以从状态栏访问它们。它提供升级、提醒以及一些重要但不至于直接打断用户的信息。将状态栏滑下可以打开通知抽屉。点击消息将会打开相关的应用。更多关于通知系统

大多数的通知有一个单行的标题和单行的信息。所以推荐两行的布局。如果需要,您可以增加第三行。时间戳可以显示在右边。

左右滑动一条通知将会把它从通知抽屉中移除。

通用的应用 UI - Common App UI

典型的 Android 应用由操作栏和应用内容区域组成。

  1. 主操作栏

您应用的命令和控制中心。操作栏包括您应用内的导航和最主要的操作。

主操作栏的更多信息

  1. 视图控制按钮

使用户可以在应用的视图之间切换。通常用来切换数据的显示方式或者供用户选择您应用中的各种功能。

  1. 内容区域

您的应用主要内容的显示区域。

  1. 副操作栏

副操作栏提供了放置更多操作的空间,它可以放在主操作栏下面或者屏幕的底部。这个例子中,副操作栏将主操作栏放不下的功能放置在屏幕底部。

【Android开发】交互界面布局详解的更多相关文章

  1. Android开发之线性布局详解(布局权重)

    布局权重 线性布局支持给个别的子视图设定权重,通过android:layout_weight属性.就一个视图在屏幕上占多大的空间而言,这个属性给其设 定了一个重要的值.一个大的权重值,允许它扩大到填充 ...

  2. Android开发:程序目录结构详解

    HelloWorld程序的目录结构概述 我们可以在文件夹中看到,HelloWorld程序的目录主要包括:src文件夹.gen文件夹.Android文件夹.assets.res文件夹. AndroidM ...

  3. android:TableLayout表格布局详解

    1.TableLayout简介2.TableLayout行列数的确定3.TableLayout可设置的属性详解4.一个包含4个TableLayout布局的实例及效果图一.Tablelayout简介  ...

  4. Android开发——事件分发机制详解

    0. 前言   转载请注明出处:http://blog.csdn.net/seu_calvin/article/details/52566965 深入学习事件分发机制,是为了解决在Android开发中 ...

  5. Android开发 ExpandableListView 可折叠列表详解

    前言 在需要实现一个List的item需要包含列表的时候,我们就可以选择ExpandableListView. 其实这个View的原始设计还是ListView的那套.就是增加2层的ListView而已 ...

  6. Android开发之位置定位详解与实例解析(GPS定位、Google网络定位,BaiduLBS(SDK)定位)

    在android开发中地图和定位是很多软件不可或缺的内容,这些特色功能也给人们带来了很多方便.定位一般分为三种发方案:即GPS定位.Google网络定位以及基站定位 最简单的手机定位方式当然是通过GP ...

  7. DirectUI界面编程(四)界面布局详解

    Duilib的界面布局使用xml文件进行描述,在Duilib v1.1版本的xml布局文件中我们可以使用以下这些标签(后续版本标签有扩充): 这些标签总的来讲可以分为三类: 窗口类,该类别中只有一个W ...

  8. 『言善信』Fiddler工具 — 3、Fiddler界面布局详解【菜单栏】

    目录 (一)Fiddler界面布局介绍 (二)菜单栏 1.File文件菜单: 2.Edit编辑菜单: 3.Rules规则菜单: 4.Tools工具菜单: 5.View视图菜单: 6.Help帮助菜单: ...

  9. Android 开发 MaterialDialog框架的详解

    前言 开始之前还是需要废话一下,因为有一些坑需要告知.首先MaterialDialog在GitHub上作者已经转型使用100% Kotlin语言编写,虽然可以在Java里调用Kotlin使用.但是个人 ...

随机推荐

  1. android JNI调用(Android Studio 3.0.1)(转)

    最近回头复习了一下android 的jni调用,却发现按以前的方法调用失败,一怒之下就重新摸索,碰了几次壁,发现网上好多教程都不能成功调用,于是记录一下现在AS版本成功好用的调用方法. 这里设定你的n ...

  2. 【DB2】查看表空间对应的物理文件地址

    使用的命令: db2 list tablespaces show detail db2 list tablespace containers for [Tablespace ID] [show det ...

  3. mysql数据导出为excel文件

    select * from  xi_table  into  outfile  ’d:test.xls’

  4. RHEL7 在不同的环境中使用不同的网络配置文件

    比如,我们可以设置RHEL7 系统在公司时使用一个网卡配置文件:在家时则使用另外一个配置文件(可以根据不同的环境设置多个网卡配置文件). 网卡配置信息如下: [root@rhel7 ~]# nmcli ...

  5. TCP/IP协议——TCP/IP协议栈及框架

    TCP/IP协议同ISO/OSI模型一样,也可以安排成栈形式.但这个栈不同于ISO/OSI版本,比ISO/OSI栈少,所以又称之为短栈.另外,需要知道的是:TCP/IP协议栈只是许多支持ISO/OSI ...

  6. 生命周期方法调用,以及在onStop()方法中处理草稿信息

    生命周期方法调用顺序 1. 从会话列表界面跳转到信息列表界面. 07-17 17:29:18.718: I/txrjsms(19370): MessageListActivity.onCreate 0 ...

  7. Java进制转换, 数据类型, 运算符

    1:进制转换 转换规则: 先把数据的每一位上的系数乘以对应基数的次幂(低位从零开始),然后相加即可 十进制到其他进制 规则:除基取余,直到商为0,最后将余数反转 十进制到二进制: 除2取余,直到商为0 ...

  8. memcached全面剖析--4. memcached的分布式算法

    我是Mixi的长野. 第2次.第3次由前坂介绍了memcached的内部情况.本次不再介绍memcached的内部结构,开始介绍memcached的分布式. memcached的分布式 正如第1次中介 ...

  9. Docker(一):Docker入门教程

    如今Docker的使用已经非常普遍,特别在一线互联网公司.使用Docker技术可以帮助企业快速水平扩展服务,从而到达弹性部署业务的能力.在云服务概念兴起之后,Docker的使用场景和范围进一步发展,如 ...

  10. k8s源码分析之kubelet

    一.概述 二.Kubelet对象创建过程:(pkg/kubelet/kubelet.go ) NewMainKubelet 正如名字所示,主要的工作就是创建 Kubelet 这个对象,它包含了 kub ...