第二节:布局入门

一、线性布局

需要掌握的属性:

1.orientation:排列方式

vertical:垂直

Horizontal:水平

2.weight:水平布局的权重
3.gravity:子控件对齐方式
4.layout_gravity控件自身相对于父容器的对齐方式

小技巧:

按钮default,click,focus等状态图片更改
<?xml version="1.0" encoding="UTF-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

     <item android:state_pressed="true"

           android:drawable="@drawable/login_s" /> <!-- pressed -->

     <item android:state_focused="true"

           android:drawable="@drawable/login_d" /> <!-- focused -->

     <item android:drawable="@drawable/login_d" /> <!-- default -->

 </selector>

 二、相对布局

1.相对于某一控件

android:layout_above将该控件的底部置于给定ID的控件之上; 
android:layout_below将该控件的底部置于给定ID的控件之下; 
android:layout_toLeftOf    将该控件的右边缘与给定ID的控件左边缘对齐; 
android:layout_toRightOf  将该控件的左边缘与给定ID的控件右边缘对齐; 
android:layout_alignBaseline  将该控件的baseline与给定ID的baseline对齐; 
android:layout_alignTop       
将该控件的顶部边缘与给定ID的顶部边缘对齐; 
android:layout_alignBottom   将该控件的底部边缘与给定ID的底部边缘对齐; 
android:layout_alignLeft       
将该控件的左边缘与给定ID的左边缘对齐; 
android:layout_alignRight      将该控件的右边缘与给定ID的右边缘对齐;

2.
相对于父容器
android:layout_alignParentTop      如果为true,将该控件的顶部与其父控件的顶部对齐; 
android:layout_alignParentBottom如果为true,将该控件的底部与其父控件的底部对齐; 
android:layout_alignParentLeft      如果为true,将该控件的左部与其父控件的左部对齐; 
android:layout_alignParentRight    如果为true,将该控件的右部与其父控件的右部对齐; 
3.相对于内部控件 
android:layout_centerHorizontal如果为true,将该控件的置于水平居中; 
android:layout_centerVertical

如果为true,将该控件的置于垂直居中; 
android:layout_centerInParent

如果为true,将该控件的置于父控件的中央;

三、表格布局

1. 全局属性

android:stretchColumns   设置可伸展的列。该列可以向行方向伸展,最多可占据一整行。

android:shrinkColumns     设置可收缩的列。当该列子控件的内容太多,已经挤满所在行,那么该子控件的内容将往列方向显示。

android:collapseColumns设置要隐藏的列。

2. 单元格属性,有以下2个参数:

android:layout_column    指定该单元格在第几列显示

android:layout_span
       指定该单元格占据的列数(未指定时,为1)

示例:

android:layout_column="1"    该控件显示在第1列

android:layout_span="2"
       该控件占据2列

说明:一个控件也可以同时具备这两个特性。

四、帧布局

 百度网盘视频地址:http://pan.baidu.com/s/1pJ4ST1h
 

android内部培训视频_第二节 布局基础的更多相关文章

  1. android内部培训视频_第一节

    声明:本视频为公司内部做android培训时录制的,无任何商业目的.同时鉴于水平有限,可能不符合您的需求,放在这里的目的是提供给公司同事下载,作为培训的一个记录,也作为一个系列教程的自我督促完成的理由 ...

  2. android内部培训视频_第五节(1)_OA实战之登录界面

    第五节(1):OA实战之登录界面  一.登录界面布局 1.背景图片 2.文本框 3.checkbox 4.按钮 暂未实现点击切换图片效果 <RelativeLayout xmlns:androi ...

  3. android内部培训视频_第四节(1)_异步网络操作

    第四节(1):异步网络操作  一.结合asyncTask下载网络图片 1.定义下载类,继承自asyncTask,参数分别为:String(url地址),Integer(刻度,本例没有用到),BitMa ...

  4. android内部培训视频_第三节 常用控件(Button,TextView,EditText,AutocompleteTextView)

    第三节:常用控件 一.Button 需要掌握的属性: 1.可切换的背景 2.9.png使用 3.按钮点击事件 1)  onClick 3) 匿名类 4) 公共类 二.TextView 常用属性 1.a ...

  5. android内部培训视频_第三节(3)_常用控件(ViewPager、日期时间相关、ListView)

    第三节(2):常用控件之ViewPager.日期时间相关.ListView  一.ViewPager 实例:结合PagerAdapter滑动切换图片  二.日期时间相关:AnalogClock\Dig ...

  6. Rafy 领域实体框架 - 公司内部培训视频

    本月给公司内部一个项目做架构重构,其中使用到了 Rafy 框架.所以我培训了 Rafy 领域实体框架的使用方法,过程中录制了视频,方便其他同事查看.现在把视频放到园里来分享下,有兴趣的朋友可以看看,有 ...

  7. Android Wear开发 - 卡片通知 - 第二节 : 自定义Wear卡片样式

    一.前言说明 在上一节添加Android Wear通知特性我们实现了简单的Android Wear卡片拓展,但是默认提供给我们的多张卡片只能实现简单的文字展示,如果想要自定义布局,添加图片等等,则需要 ...

  8. Android Wear开发 - 数据通讯 - 第二节 : 数据的发送与接收

    本节由介绍3种数据的发送接收:1.Data Items : 比特类型数据,限制100KB以内2.Assets : 资源类型数据,大小无上限3.Message : 发送消息,触发指令 http://de ...

  9. sencha touch 在线实战培训 第一期 第二节

    2013.12.30晚上8点开的课,仍然有些紧张,开始讲课进度很慢,后面又有些快了... 本期培训一共八节,前三堂免费,后面的课程需要付费才可以观看. 本节内容: 页面实现及跳转控制 跳转容器.路由理 ...

随机推荐

  1. MachineKey 操作 之 应用集群中SSO应用生成MachineKey

    MachineKey介绍 MachineKey其用于对 Forms 身份验证 Cookie 数据和视图状态数据进行加密和解密,一般情况下IIS自动默认给网站或者每一个应用生成唯一的MachineKey ...

  2. Java 之 数据库

    1.SQL--结构化查询语言 a.分类:①DDL--数据定义语言 ②DQL--数据查询语言 ③DML--数据操作语言 ④DCL--数据控制语言 b.DDL:包括对数据库的创建.使用.删除,对表的创建. ...

  3. Java内存模型及性能优化

    最近在做一个项目的性能优化,遇到好多以前没有关注过的性能问题,一头雾水,今天做个笔记,简单记录下JVM相关的参数设置. 一.JVM内存模型 首先介绍下Java程序具体执行的过程: Java源代码文件( ...

  4. ASP.NET 给作为隐藏域的TextBox赋值之后提交表单,无响应?

    操作步骤: 给页面隐藏TextBox赋值,然后触发ASP.NET change事件,调用ASP.NET后台方法,调用后执行客户端脚本this.RegisterClientScriptBlock(Dat ...

  5. gem安装cocoapods

    1.升级Ruby环境 sudo gem update --system 如果Ruby没有安装,请参考 如何在Mac OS X上安装 Ruby运行环境 2.安装CocoaPods时我们要访问cocoap ...

  6. codeforces346 Div.2 A.Round House

    课间水一水,CCF备战 package com.company.cf346; import java.io.InputStreamReader; import java.util.Scanner; / ...

  7. [知识点]字符串Hash

    1.前言 字符串的几大主要算法都多少提及过,现在来讲讲一个称不上什么算法, 但是非常常用的东西——字符串Hash. 2.Hash的概念 Hash更详细的概念不多说了,它的作用在于能够对复杂的状态进行简 ...

  8. 初探javascript

    javascript是一种在网络广泛应用的脚本语言,虽然名字与java相近,但其实两者并没有直接的关系,脚本语言是一种为了便于操作和拓展功能而开发出来的解释性语言,不同于传统的编程语言,脚本语言不需要 ...

  9. router路由去掉#!的踩坑记

    项目中在研究去掉router#!的过程中的踩坑过程.

  10. Torch7学习笔记(三)Sequencialization

    1.序列化 Torch提供4种高级方法来序列化或者反序列化任意Lua/Torch对象.这些方法都是从File对象抽象出来的,为了方便操作而创建. 前两种方法用来从文件序列化或者反序列化的: torch ...