AndroidStudio里面支持的布局有挺多种的,但是最最重要的是RelativeLayout(相对布局)和LinearLayout(线性布局),熟练掌握这两种布局也非常够用了,当然还有FrameLayout(帧布局)…但是对于初学者,先学会了相对布局和线性布局,再去学习其他布局,就会觉得非常简单轻松了。


一.线性布局(LinearLayout)

当我们使用线性布局时,可以发现文字去了左上角,不在中间了。

如果只有一个子控件,则不需要写orientation属性,有多个要写。orientation=“horizontal”表示水平,orientation=“vertical”表示垂直。

在线性布局中,有两个属性:layout_width,layout_height。这两个属性就决定了布局的宽度和高度。

这两个属性的大小由match_parent,wrap_content,自己定义大小决定的。

1.match_parent只会占满剩余的空间,根据不同的方向去占满。

(我们发现,它占用了整个宽度,并覆盖了右侧的文字,如果换做layout_height,则高度上会占满)

2.wrap_content只会占用自己的那部分。

3.自己定义可以写(可以写固定数值,单位是dp或者dip,不能用px)

二.相对布局(RelativeLayout)

没有方向性,但是有z轴,代码在后的z轴值越大,既可以是悬浮叠加。必须要有参照物。

1.布局本身

centerInparent

centerVertical

centerHorizontal

alignParentTop

alignParentBottom

alignParentLeft

alignParentRight

2.通过id来指定参照物

同理,

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/tv_center"<!--设置参照物-->
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="居中"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:text="右下角"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="右上角"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="左下角"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="左上角"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/tv_center"<!--应用参照物-->
android:text="center左上角"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/tv_center"<!--应用参照物-->
android:layout_centerInParent="true"
android:text="center上面"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/tv_center"<!--应用参照物-->
android:layout_centerInParent="true"
android:text="center下面"
/>
<TextView
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/tv_center"<!--应用参照物-->
android:layout_centerVertical="true"
android:text="center右面"
/>
<TextView
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/tv_center"<!--应用参照物-->
android:layout_centerVertical="true"
android:text="center左面"
/> </RelativeLayout>

最新文章

  1. Arnold AtArray API Test
  2. CSS实现水平垂直同时居中的5种思路
  3. Spring总结—— IOC 和 Bean 的总结
  4. sencha/extjs 动态创建grid表格
  5. windows上传文件到linux
  6. 虚拟机VMware 9安装苹果MAC OSX 10.8图文教程
  7. android studio使用的各种问题
  8. Linux下让一个程序开机自动启动
  9. jsp,2016.11.28
  10. use ambiguous的错误——编译错误
  11. SpringMVC实现文件下载时,请求路径中的扩展名被省略
  12. Python第十天 print &gt;&gt; f,和fd.write()的区别 stdout的buffer 标准输入 标准输出 从控制台重定向到文件 标准错误 重定向 输出流和输入流 捕获sys.exit()调用 optparse argparse
  13. 用css实现自定义虚线边框
  14. Full permutation
  15. FileShare枚举的使用(文件读写锁) - (转载)
  16. keil5配置ST Link v2 for STM32F10x
  17. 像素 转换 px dp
  18. 搭建一台deeplearning的服务器
  19. 求二维数组联通子数组和的最大值 (联通涂色) beta!
  20. iOS - 常用iOS的第三方框架

热门文章

  1. 实现同比、环比计算的N种姿势
  2. .NetCore Web Api 利用ActionFilterAttribute统一接口返回值格式
  3. 网络标准之:永远是1.0版本的MIME
  4. MySQL中使用IN会不会走索引
  5. ElasticSearch集成SpringBoot与常见使用方法
  6. 拓扑排序 python
  7. python 绘图介绍
  8. 程序设计基础&#183;Java学习笔记&#183;面向对象(上)
  9. 西门子S7-1200PLC不让下载一直报“模块具有激活的测试和调试功能,防止下载到设备”解决方法
  10. CF226E Noble Knight&#39;s Path/bzoj4704 旅行