一、Android学习API指南:【了解】
1. 应用的组成部分 App Components
1.1. 应用的基本原理 App Fundamentals
1.2. Activity Activities活动
1.2.1. 片段 Fragments
1.2.2. 加载器 Loaders
1.2.3. 任务和返回堆 Tasks and Back Stack
1.3. Service服务 Services
1.3.1. 绑定服务 Bound Services
1.3.2. AIDL Android Interface Definition Language
1.4. 内容提供者 Content Providers
1.4.1. 内容提供器基础 Content Providers Basics
1.4.2. 创建一个内容提供者 Creating a Content Provider
1.4.3. 日历提供者 Calendar Provider
1.4.4. 通信录提供者 Contact Provider
1.5. 意图和意图过滤器 Intents and Intents Filters
1.6. 进程和线程 Process and Threads
1.7. 权限系统 Permissions
1.8. 窗口小部件 App Widgets
1.9. Android清单 Android Manifest
2. 用户界面 User Interface
2.1. 概述 Overview
2.2. 布局 Layout
2.2.1. 线形布局 Linear Layout
2.2.2. 相对布局 Relative Layout
2.2.3. 列表视图 ListView
2.2.4. 网格视图 GridView
2.3. 输入控件 Input Controls
2.3.1. 按钮 Buttons
2.3.2. 文本区域 Text Fields
2.3.3. 复选框 Checkboxes
2.3.4. 单选按钮 Radio Buttons
2.3.5. 开关按钮 Toggle Buttons
2.3.6. 下拉列表 Spinners
2.3.7. 选择器 Pickers
2.4. 输入事件 Input Events
2.5. 菜单 Menus
2.6. 动作条 Action Bar
2.7. 设置 Settings
2.8. 对话框 Dialogs
2.9. 状态通知 Notifications
2.10. Toast通知 Toasts
2.11. 搜索 Search
2.11.1. 创建一个搜索界面 Creating a Search Interface
2.11.2. 增加当前搜索提醒 Adding Recent Query Suggestions
2.11.3. 增加个性化提醒 Adding Custom Suggestions
2.11.4. 搜索配置 Searchable Configuration
2.12. 拖放操作 Drag and Drop
2.13. 可访问性 Accessibility
2.13.1. 应用程序的可访问性 Making Applications Accessible
2.13.2. 构建可访问性服务 Building Accessibility Services
2.14. 风格和主题 Styles and Themes
2.15. 自定义控件 Custom Components
3. 应用程序资源 App Resources
3.1. 概述 Overview
3.2. 提供的资源 Providing Resources
3.3. 对资源的访问 Accessing Resources
3.4. 运行时变化的处理 Handling Runtime Changes
3.5. 本地化 Localization
3.6. 资源类型 Resource Types
3.6.1. 动画 Animation
3.6.2. 状态颜色列表 Color State List
3.6.3. 图形处理类资源 Drawable
3.6.4. 布局 Layout
3.6.5. 菜单 Menu
3.6.6. 字符串 String
3.6.7. 样式 Style
3.6.8. 其他类型 More Types
4. 动画和图形 Animation and Graphics
4.1. 概述 Overview
4.2. 属性动画 Property Animation
4.3. 补间动画 View Animation
4.4. 帧动画 Drawable Animation
4.5. 画布和绘制 Canvas and Drawables
4.6. OpenGL OpenGL ES
4.7. 硬件加速 Hardware Acceleration
5. 高性能计算 Computation
5.1. RenderScript编程 RenderScript
5.2. RenderScript编程进阶 Advanced RenderScript
5.3. 运行时API说明 Runtime API Reference
6. 多媒体和照相机 Media and Camera
6.1. 媒体播放 Media Playback
6.2. 支持的媒体格式 Supported Media Formats
6.3. 音频捕获 Audio Capture
6.4. JET引擎 JetPlayer
6.5. 照相机 Camera
7. 定位和传感器 Location and Sensors
7.1. 定位和地图 Location and Maps
7.2. 定位策略 Location Strategies
7.3. 传感器概述 Sensors Overview
7.4. 手势传感器 Motion Sensors
7.5. 位置传感器 Position Sensors
7.6. 环境传感器 Environment Sensors
8. 通信 Connectivity
8.1. 蓝牙 Bluetooth
8.2. NFC通信 NFC
8.2.1. NFC基础 NFC Basics
8.2.2. NFC进阶 Advanced NFC
8.3. Wi-FI直连 Wi-Fi 2P
8.4. USB通信 USB
8.4.1. 附件模式 Accessory
8.4.2. 主机模式 Host
8.5. SIP协议 SIP
9. 文本输入法 Text and Input
9.1. 复制和粘贴 Copy and Input
9.2. 创建一个输入法 Creating an IME
9.3. 拼写检查器 Spelling Checker
10. 数据存储 Data Storage
10.1. 存储选项 Storage Options
10.2. 数据备份 Data Backup
10.3. 应用程序安装位置 App install Locaiton
11. 系统管理员 Administration
11.1. 硬件管理 Device Policies
12. web应用 Web Apps
12.1. 概述 Overview
12.2. web应用的屏幕适配 Targeting Screens from Web Apps
12.3. 利用webview构建web应用 Building Web Apps in WebView
12.4. 调试web应用 Debugging Web Apps
12.5. web应用的优化 Best Practices for Web Apps
13. 更好的策略
13.1. 一致性(兼容性) Compatibility
13.2. 支持多屏幕 Supporting Multiple Screens
13.2.1. 适配指定屏幕 Distributing to Specific Screens
13.2.2. 屏幕兼容模式 Screen Compatibility Mode
13.3. 支持平板和手机 Supporting Tablets and Handsets
14. Google提供的服务 Google Services
14.1. 应用程序内部付费机制
14.2. 应用程序内部付费机制概述
14.3. 如何使用应用程序付费服务
14.4. 订阅机制
14.5. 安全与设计
14.6. 测试应用程序付费服务
14.7. 应用程序付费机制的管理
14.8. 应用程序付费的相关API
14.9. 应用程序许可机制
14.10. 许可机制概述
14.11. 设置许可机制
14.12. 在应用中增加许可
14.13. 许可机制API
14.14. Google软件商店服务
14.15. 在Google Play中加过滤器
14.16. 多APK支持
14.17. 对APK附加文件的服务
14.18. Google云消息服务
14.19. 如何使用google云服务
14.20. 架构概述
14.21. 演示教程
14.22. Google云服务进阶
14.23. 信息迁移
1、在4.0以前版本中一共有五种布局,都是ViewGroup的子类。分别是AbsoluteLayout、RelativeLayout、LinearLayout、FrameLayout、TableLayout。而 TableLayout是LinearLayout的子类。(中文分别是:绝对布局、相对布局、线性布局、帧布局、 表格布局)。2、在2.2操作系统中将AbsoluteLayout过期。而目前FrameLayout、TableLayout也逐渐少用。3、在4.0之后又新增GridLayout。(GridLayout最经典的案例是计算器界面)总之,Android中一共有六种布局。目前推荐使用RelativeLayout、LinearLayout、GridLayout三种布局。
(一)、概念:线性布局控制其中的控件或组件横向或纵向排列。
线性布局中, 每一行或每一列只能放一个控件 。并且线性布局不会换行。线性布局的 默认方向 是水平方向( Horizontal )。
当控件排列到窗体边缘,后面的控件就被隐藏,而不会显示出来。
(二)、LinearLayout的常用属性:
1. android:orientation : 定义布局内控件或组件的排列方向
可选项:vertical 、 horizontal
2. android:layout_width : 定义控件的宽度
可选项:fill_parent / match_parent/ wrap_content/绝对数值
备注:fill_parent / match_parent的效果完全一致,都是填充整个父控件。但是自2.2版本开始推荐使用 match_parent 。wrap_content指的是该控件的宽度正好包裹内容物。
3. android:layout_height : 定义控件的高度
可选项:fill_parent / match_parent/ wrap_content/绝对数值
备注:fill_parent / match_parent的效果完全一致,都是高度填充整个父控件。wrap_content指的是该控件的高度正好包裹内容物。
4. android:id : 设置控件的id。这样就可以在R.java中自动生成相应的值,
在程序中通过findViewById就可以调用。
设置id的格式为:android:id = "@+id/id的名字"
5. android:background : 设置控件的背景颜色或背景图片
例如:android:background="#ffffff"
android:background="@drawable/图片名称"
【备注:】颜色有RGB颜色格式和ARGB格式。RGB是红绿蓝三原色。而ARGB是带alpha的三原色,6. android:layout_weight : 设置控件的权重。即各控件在水平或者垂直方向上平均分配。
即有透明度的三原色。#FFFFFF 代表白色#000000 黑色#FFFFFFFF 完全不透明#88FFFFFF 半透明#00FFFFFF 完全透明
①. LinearLayout特有的属性——android:layout_weight,它表示比重的意思,可实现百分比布局
②. 如果控件为“match_parent”,则layout_weight的值与占用比重是反相关的,其值越大,它占用的比重越小。
③. 如果控件为“wrap_content”,则对比重的判断会变为正相关,即其值越小,占用的空间越少。 但是这种情况下,有时候不会严格地按照比重来显示,如果某个 View 中的内容过多,就会占用过多的 空间 。
备注: 如果是水平方向设置权重,要将android:layout_width设置为0dp,如果是垂直方向上使用权重,要将android:layout_height设置为0dp。否则权重容易受到高度或宽度的干扰而出现偏差。
7. android:gravity : 该属性用来控制该View的内容物的位置。
如果该属性是定义在布局节点中,则该布局中所有控件的位置都受到这个属性的控制。
如果该属性出现在Button、TextView、EditText等控件中,则用来控制这些控件上的文字的位置。
可选项有:top、bottom、left、right、center_vertical、fill_vertical 、 center、fill等等。
【备注:】 本属性与android:layout_gravity不同。
8. android:layout_gravity : 该属性用于设置控件相对于容器的对齐方式。
可选项有:top、bottom、left、right、center_vertical、fill_vertical 、 center、fill等等。
这些可选项并不是适用于每一种布局 。在垂直线性布局中,android:gravity为bottom不起作用;
而水平线性布局中,android:gravity为right不起作用。
【备注:】而本属性是android:layout_gravity属性,与 android:gravity 属性不同。
(三)、LinearLayout的特有属性:【重新归纳:去除公共属性后的 特有属性 】
①、android: orientation 布局管理器内组件的排列方式
②、 android:layout_weight 设置布局中控件所占的权重
(四)、 LinearLayout 子元素的特有属性:
①、android: layout_weight 子元素在 LinearLayout 中所占的权重
②、android:layout_gravity 子元素在 LinearLayout 中的对齐方式
Layout_weight属性的作用:它是用来分配剩余空间的一个属性,你可以设置它的权重。很多人不知道剩余空间是个什么概念,下面说说剩余空间的概念。
剩余空间长度=总长度-已分配长度
看下面代码:
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >