Android 坐标系和 View 滑动方法

Android 二维坐标系

和 Java 图形化界面开发类似,Android 中也有一种坐标系,这里说说二维平面的坐标系,在 Android 中,坐标系起始点以左上角为原点,竖直向下是 y 轴的方向,横向向右是 x 轴延伸方向,对于 Android 中的 View 来说,它本身所具有的一些位置相关的参数会根据这个坐标系来确定数值和正负,掌握这些有助于理解 View 在布局层次中所处位置的意义。

下面用一个典型例子来说明 Android 中的坐标系:

阅读更多

Android Activity 任务栈

前言

一个 Android 应用中与用户产生交互的一系列 Android 被称为任务,Android 系统使用栈来管理这些 activity,它们的行为如下:

当在桌面点击一个应用图标打开主界面时,如果之前没有打开过这个应用,将会创建一个全新的任务栈,并把主界面的 activity1 作为栈底元素入栈,当用户从主界面依次打开 activity2, activity3 时,它们会被依次压入栈中,此时栈内元素为 activity1, activity2, activity3,用户点击返回键时,activity3将被被执行 finish 操作,同时将会出栈,activity2 恢复,继续点击返回键,直到退回到主界面时,如果再次点击返回键,则应用退出,任务栈被销毁。

不同应用可以指定相同的任务,同一个应用中的 Android 也可存在于多个任务中,还可使用一些选项影响 Android 在任务栈中的行为。更详细的文档可以参考官方指南:

AndroidAPI 指南:任务和返回栈

下面对和任务栈相关的选项和配置进行详细分析:

阅读更多

Android 自定义 View

概述

View 是由视图和属性组成的控件,实现一个 View 的自定义,主要包括定义它自身的尺寸,以及绘制它的内容,并且在自身属性发生改变时能正确更新其绘制的内容。

ViewGroup 是 View 的容器类型,内部可容纳多个 View,并对子 View 的位置进行规划,根据自身特性的不同,子 View 的摆放特点也各不相同。由于 ViewGroup 本身也是 View 的子类,所以 ViewGroup 本身也可作为子View 出现。自定义 ViewGroup 时,更着重于对子 View 位置的处理,并且尺寸由子 View 的尺寸和摆放位置决定,在一些复杂的自定义 View 中,内容的绘制和子 View 位置的处理可能显的同等重要。

阅读更多