第二节:布局入门

一、线性布局

需要掌握的属性:

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. Error:Execution failed for task ':clean'. > Unable to delete directory :\build\intermediates (转)

    第一种方法: build文件夹,可以使用360文件粉碎机删除,然后重启Android Studio即可! 转自 第二种方法: 进入studio,进入settings,搜索instant run,进入该 ...

  2. 关于Solr的使用总结的心得体会

    摘要:在项目中使用Solr作为搜索引擎对大数据量创建索引,提供服务,本文是作者对Solr的使用总结的一点心得体会, 具体包括使用DataImportHandler从数据库中近实时同步数据.测试Solr ...

  3. Kafka vs RocketMQ—— Topic数量对单机性能的影响-转自阿里中间件

    引言 上一期我们对比了三类消息产品(Kafka.RabbitMQ.RocketMQ)单纯发送小消息的性能,受到了程序猿们的广泛关注,其中大家对这种单纯的发送场景感到并不过瘾,因为没有任何一个网站的业务 ...

  4. Servlet规范简介——web框架是如何注入到Servlet中的

    Servlet规范简介--web框架是如何注入到Servlet中的 引言 Web框架一般是通过一个Servlet提供统一的请求入口,将指定的资源映射到这个servlet,在这个servlet中进行框架 ...

  5. TMemo.Text 回车键会变成#$D#$A,而非#13#10

    mmoComplain: TMemo;//cxmComplain.Text 会造成回车键 转换成十六进制的字符串 #$D#$A,而非#13#10 //cxmComplain.Text范例:'风发的是' ...

  6. 数组排序(java)

    代码如下: public class paixu{ public static void main(String []args){ int a[] = {78,23,56,34,12,45,67,89 ...

  7. java 通过jdbc连接MySQL数据库

    先了解下JDBC的常用接口 1.驱动程序接口Driver 每种数据库的驱动程序都应该提供一个实现java.sql.Driver接口的类,简称Driver类.通常情况下,通过java.lang.Clas ...

  8. Codeforces 486E LIS of Sequence 题解

    题目大意: 一个序列,问其中每一个元素是否为所有最长上升子序列中的元素或是几个但不是所有最长上升子序列中的元素或一个最长上升子序列都不是. 思路: 求以每一个元素为开头和结尾的最长上升子序列长度,若两 ...

  9. mysql获取自增长插入行的ID

    insert into {14}.SEGMENT(CODE_STARTPOINTID,CODE_STARTFIR,CODE_TYPE_START,CODE_ENDPOINTID,CODE_ENDFIR ...

  10. Django models知识小点

    django 为使用一种新的方式,即关系对象映射(ORM) 一,创建表 1,基本结构 注意: 1,创建标的时候,如果我们不给表加自增列,生成表的时候会默认给我们生成一列为ID的自增列,当然我们也可以自 ...