LinearLayout

线性布局是程序中最常见的布局方式。一般分为水平线性布局和竖直线性布局,通过android.orientation属性可以设置线性布局的方向。

在布局中操作颜色时,要用的是十六进制的数字来表示

例如:android:textColor="#0000FF"

android:background="#0000FF"

Android:gravity

该属性用于控制布局中控件的对齐方式

如果是没有子控件的控件设置此属性,表示其内容的对齐方式

如果有子控件,表示其子控件的对齐方式

对齐方式可以重叠多个,以满足特殊的要求

例如:android:gravity="center_vertical|center_horizontal"

Android:Layout_weight

控制各个控件在布局中的相对大小,它的属性是一个非负的整数值

这里要注意的是,这个属性的分配方式是:

将所有在本布局下的非零值相加之后,分配给每个控件自己数值的百分比

AbsoluteLayout

绝对布局是指定子控件的xy精确坐标的布局方式。绝对布局缺乏灵活性,在没有绝对定位的情况下相比其他布局更加难以维护。

Android官方并不推荐使用。因为对不同屏幕大小或者分辨率的平板或者手机可能出现显示的问题。尤其在开发大众化软件时最好不要使用。

指定坐标时的属性(注意要用像素值表示坐标值)

android:layout_x="10px"

android:layout_y="20px"

android:background="#00FF00"

FrameLayout

所有添加到这个布局中的视图都以层叠的方式显示。第一个添加的组件放到最底层,最后添加的显示在最上面。

上一层的会覆盖下一层的组件。

android:layout_gravity属性,用来确定组件的位置

RelativeLayout

顾名思义,相对布局,在这个容器内部的子元素可以式样彼此之间的相对位置或者容器之间的相对位置来进行定位。

注意:不能在RelativeLayout容器与它的子元素之间产生循环依赖。

例如:不能将RelativeLayout的高设置成WRAP_CONTENT的时候将元素的高设置成ALIGN_PARENT_BOTTOM

相关布局属性:

Android:layout_above 将此控件置于给定ID控件之上

Android:layout_below 将此控件置于给定ID控件之下

Android:layout_toleftof 将此控件置于给定ID控件之左

Android:layout_torightof 将此控件置于给定ID控件之右

注意,这里的相对位置不可以覆盖。

相关对齐的属性:

android:layout_alignBaseline 该控件基线对齐给定ID控件的基线

android:layout_alignLeft 该控件于给定的ID控件左对齐

android:layout_alignTop该控件于给定的ID控件顶部对齐

android:layout_alignRight该控件于给定的ID控件右对齐

android:layout_alignBottom该控件于给定的ID控件底部对齐

对于容器的对齐方式:(在True的情况下)

android:layout_alignParentLeft 位于父控件的左部

android:layout_alignParentRight位于父控件的右部

android:layout_alignParentTop位于父控件的顶部

android:layout_alignParentBottom位于父控件的底部

对于容器位置关系的属性:(在True的情况下)

android:layout_centerInParent 控件被置于水平方向的中央

android:layout_centerHorizontal 控件被置于容器正中央

android:layout_centerVertical控件被置于垂直方向的中央

实例RelativeLayout:

<?xml version="1.0" encoding="utf-8"?>

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

android:background="#0000FF"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:padding="10px"

>

<TextView

android:id="@+id/tv01"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Type here:"

/>

<EditText

android:id="@+id/txt01"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_below="@id/tv01"

/>

<Button

android:id="@+id/btn01"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_below="@id/txt01"

android:layout_alignParentRight="true"

android:text="OK"

/>

<Button

android:id="@+id/btn02"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_below="@id/txt01"

android:layout_toLeftOf="@id/btn01"

android:text="Cancel"

/>

</RelativeLayout>

TableLayout

表格布局是一个ViewGruop以表格形式显示它的子视图(View)元素,即行和列标识一个视图的位置

这个布局方式同HTML中的表格布局非常类似,TableRow就像HTML表格的<tr>标记

常用属性:

android:collapseColumns 隐藏指定的列

如果要隐藏多列的话,就用逗号将列号隔开

android:stretchColumns尽量把指定的列填充空白部分

android:shrinkColumns 收缩指定的列以适应屏幕

android:layout_column 控件在TableRow中所处的列

android:layout_span 该控件所跨越的列数

                  ——结合网络资料,欢迎大家补充

【深入篇】Android常用布局方式简介的更多相关文章

  1. Android常用布局和控件

    一.Android常用布局属性 1. LinearLayout的特有属性 android:orientation:设置布局排列方式   android:layout_weight:设置所占布局的权重  ...

  2. Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式

    Android开发工程师文集-Fragment,适配器,轮播图,ScrollView,Gallery 图片浏览器,Android常用布局样式 Fragment FragmentManager frag ...

  3. Android常用布局

    FrameLayout(框架布局):从屏幕的左上角开始显示对象,一个覆盖一个,主要用于选项卡视图和图像切换器.# 所有的组件都放在屏幕的左上角,并且以层叠进行显示. LinearLayout(线性布局 ...

  4. [Irving]Android 常用布局之RelativeLayout

    RelativeLayout相对布局 相对布局 RelativeLayout 允许子元素指定它们相对于其父元素或兄弟元素的位置,这是实际布局中最常用的布局方式之一. 它灵活性大很多,当然属性也多,操作 ...

  5. CSS常用布局方式-两列布局、三列布局

    CSS基础 2.几种布局方式1)table布局 当年主流的布局方式,第一种是通过table tr td布局 示例: <style type="text/css"> ta ...

  6. Android常用布局、文件存储与权限、XML

    常用的布局 LinearLayout Android 2.2开始fill_parent改名为match_parent ,从API Level为8开始我们可以直接用match_parent来代替fill ...

  7. Android 常用布局视图

    常用包 http://square.github.io/ EventBus Scroller 滚动 拖拽 # android.support.design.widget.CollapsingToolb ...

  8. Android常用布局属性解析 -- Layout_weight

    Layout_weight是Android开发中一个比较常用的布局属性,在面试中也经常被问到.下面通过实例彻底搞懂Layout_weight的用法. 先看下面的布局代码: <?xml versi ...

  9. Android常规布局方式和方法

    一.关于给控件添加ID属性 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xm ...

随机推荐

  1. memset函数的用法

    重点需要注意一个细节:memset是以byte来填充的,也就是一个字节(8bit)一个单位来填充. 因此:如果int array[10]: memset(array, 1, 10):然后再把array ...

  2. vue-router 实现无效路由(404)的友好提示

    最近在做一个基于vue-router的SPA,想对无效路由(404)页面做下统一处理.这次我真的没有在官方文档找到具体的说明[捂脸]所以本文仅是我DIY的一个思路,求轻虐=_= 在我的理解中,vue- ...

  3. [ZJOI2012]旅游(树的直径)

    [ZJOI2012]旅游 题目描述 到了难得的暑假,为了庆祝小白在数学考试中取得的优异成绩,小蓝决定带小白出去旅游~~ 经过一番抉择,两人决定将T国作为他们的目的地.T国的国土可以用一个凸N边形来表示 ...

  4. 【Round #36 (Div. 2 only) C】Socks Pairs

    [题目链接]:https://csacademy.com/contest/round-36/task/socks-pairs/ [题意] 给你n种颜色的袜子,每种颜色颜色的袜子有ai只; 假设你在取袜 ...

  5. 熟悉Android开发不得不知道的技巧

    博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved ! 1.用Eclipse插件将文件批量编码如GBK-UTF-8 用 ...

  6. 15 hbase 学习(十五)缓存机制以及可以利用SSD作为存储的BucketCache

    下面介绍Hbase的缓存机制:  a.HBase在读取时,会以Block为单位进行cache,用来提升读的性能 b.Block可以分类为DataBlock(默认大小64K,存储KV).BloomBlo ...

  7. ArcGIS api for javascript——地图配置-定制缩放动画

    描述 本例展示了当用户放大或缩小地图时如何定义地图的动画.zoomDuration和zoomRate是Dojo动画属性,他们确定了动画的duration和帧刷新的rate .这些属性单位是毫秒,zoo ...

  8. WEB前端,混合排版,有的宽有的窄,滚动会出现空白处,怎么办。

    多数时候出现空白都是由于有滚动栏滚到一边就会产生空白. overflow-x: hidden; 在最大图的那个div里写这句.

  9. 杭电 HDU ACM 2795 Billboard(线段树伪装版)

    Billboard Time Limit: 20000/8000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  10. awk技巧

    1通过awk脚本执行awk程序:awk-f program_file_name input_files #!/bin/awk -f BEGIN { print "What is your n ...