第二节:布局入门

一、线性布局

需要掌握的属性:

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. 六个漂亮的 ES6 技巧

    六个漂亮的 ES6 技巧 转载 原文:2ality 译文:众成翻译 链接:http://www.zcfy.cc/article/346 在这篇文章里,我将演示 6 种 ES6 新特性的使用技巧.在每个 ...

  2. python 引用传递与值传递

    https://taizilongxu.gitbooks.io/stackoverflow-about-python/content/16/README.html 1.也就是如果传可变对象,就是引用传 ...

  3. 基于Hadoop的密码安全级别验证

    学习Hadoop有一段时间了,期间写过很多Demo,都是针对单个知识点做的验证,今天写个完整的应用程序——基于Hadoop的密码安全级别验证. 在很多网站上注册用户时输入密码都会在下方提示密码安全级别 ...

  4. 解决vsftpd的refusing to run with writable root inside chroot错误

    参考 http://www.cnblogs.com/CSGrandeur/p/3754126.html 在Ubuntu下用 vsftpd 配置FTP服务器,配置 “ sudo chmod a-w /h ...

  5. T-SQL Recipes之Database Backups

    The Problem 在DBA和T-SQL码奴日常工作中,比如常规检查,服务管理,数据库管理, 是其中最具挑战性的一个领域. 在相似任务中,比如索引碎片管理,统计管理,数据库备份是异常重要的,对任何 ...

  6. spark shuffle 相关细节整理

    1.Shuffle Write 和Shuffle Read具体发生在哪里 2.哪里用到了Partitioner 3.何为mapSideCombine 4.何时进行排序 之前已经看过spark shuf ...

  7. Windows安装mysql-5.7.17-winx64.zip方式

    1.去官网上下载.zip格式的文件. 2.解压到一个文件夹,这里我用D:\MySql表示 3.在D:\MySql\mysql-5.7.17-winx64下新建my.ini配置文件 黄色背景色的地方需要 ...

  8. (转)什么是“黑客” by 王珢

    什么是“黑客” by 王垠很多程序员自豪的把自己叫做“黑客”(hacker),把编程叫做 hack.可是殊不知,其实在最高级的程序员眼里,“黑客”其实是一个贬义词.他们更愿意被叫做“程序员”(prog ...

  9. vue-cli 路由 实现类似tab切换效果(vue 2.0)

    1,更改main.js 2,在App.vue中,写入两个跳转链接(router-link),分别跳转到"home""About" (home.About即分别是 ...

  10. Insert or Merge && Insertion or Heap Sort

    原题连接:https://pta.patest.cn/pta/test/1342/exam/4/question/27102 题目如下: According to Wikipedia: Inserti ...