1.线性布局

LinearLayout又称作线性布局,是一种非常常用的布局。通过android:orientation属性指定了排列方向是vertical还是horizontal。

如果LinearLayout的排列方向是horizontal,内部的控件就绝对不能将宽度指定为match_parent,因为这样的话,单独一个控件就会将整个水平方向占满,其他的控件就

没有可放置的位置了。同样的道理,如果LinearLayout的排列方向是vertical,内部的控件就不能将高度指定为match_parent。

android:layout_gravity属性,android:gravity用于指定文字在布局中的对齐方式。而layout_gravity用于指定控件在布局中的对齐方式。注意的是,当LinearLayout的排

列方向是horizontal时,只有垂直方向上的对齐方式才会生效,因为此时水平方向上的长度是不固定的,每添加一个控件,水平方向上的长度都会改变,因而无法指定

该方向上的对齐方式。同理,当LinearLayout的排列方向是vertical时,只有水平方向上的对齐方式才会生效。

LinearLayout的另外一个重要属性——android:layout_weight.这个属性允许我们使用比例的方式来指定控件的大小,它在手机屏幕的适配性方面可以起到非常重要的作

用。

Layout_weight属性:用来分配当前控件在剩余空间的大小。使用权重一般要把分配该权重方向的长度设置为零,比如在水平方向分配权重,就把width设置为零。系统

会把LinearLayout下所有控件指定的layout_weight值相加,得到一个总值,然后每个控件所占大小的比例就是用该控件的layout_weight值除以刚才算出的总值。

2.相对布局

相对布局可以让子控件相对于兄弟控件或父控件进行布局,可以设置子控件相对于兄弟控件

或父控件进行上下左右对齐。

RelativeLayout中子控件常用属性:

1、相对于父控件,例如:android:layout_alignParentTop=“true”

android:layout_alignParentTop      控件的顶部与父控件的顶部对齐;

android:layout_alignParentBottom  控件的底部与父控件的底部对齐;

android:layout_alignParentLeft      控件的左部与父控件的左部对齐;

android:layout_alignParentRight     控件的右部与父控件的右部对齐;

2、相对给定Id控件,例如:android:layout_above=“@id/**”

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的右边缘对齐;

3、居中,例如:android:layout_centerInParent=“true”

android:layout_centerHorizontal 水平居中;

android:layout_centerVertical    垂直居中;

android:layout_centerInParent  父控件的中央;

3.帧布局

FrameLayout又称作帧布局,所有控件默认摆放在布局的左上角。用layout_gravity属性来指定控件在布局中的对齐方式。

帧布局或叫层布局,从屏幕左上角按照层次堆叠方式布局,后面的控件覆盖前面的控件。该布局在开发中设计地图经常用到,因为是按层次方式布局,我们需要实现层

面显示的样式时就可以采用这种布局方式,比如我们要实现一个类似百度地图的布局,我们移动的标志是在一个图层的上面。在普通功能的软件设计中用得也不多。

4.百分比布局

可以直接指定控件在布局中所占的百分比,这样的话就可以轻松实现平分布局甚至是任意比例分隔布局的效果了。

在gradle中添加

compile 'com.android.support:percent:26.1.0'

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

xmlns:app="http://schemas.android.com/apk/res-auto"

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/button1"

android:text="Button1"

android:layout_gravity="left|top"

app:layout_widthPercent="50%"

app:layout_heightPercent="50%"

/>

android:id="@+id/button2"

android:text="Button2"

android:layout_gravity="right|top"

app:layout_widthPercent="50%"

app:layout_heightPercent="50%"

/>

android:id="@+id/button3"

android:text="Button3"

android:layout_gravity="left|bottom"

app:layout_widthPercent="50%"

app:layout_heightPercent="50%"

/>

android:id="@+id/button4"

android:text="Button4"

android:layout_gravity="right|bottom"

app:layout_widthPercent="50%"

app:layout_heightPercent="50%"

/>

另外一个PercentRelativeLayout的用法也是非常相似的,它继承了RelativeLayout中的所有属性,并且可以使用app:layout_widthPercent和app:layout_heightPercent

来按百分比指定控件的宽高。

android 布局 orientation,布局 Android相关推荐

  1. android avd orientation support,Android AVD-无法旋转风景/人像

    我想旋转风景/肖像android模拟器. 我发现我应该执行以下任一操作: 在Num Lock关闭时按numpad7 2按Ctrl和F11 3按Ctrl和F12 这是我启动时的模拟器: 这是我启动时的模 ...

  2. 认识Android(常用布局,控件,四大组件,动画,自定义控件及异常消息处理机制)

    目录 一.布局 1.LinearLayout(线性布局): 2.相对布局(RelativeLayout) 3.GridLayout(网格布局) 4.FrameLayout(帧布局): 二.控件 1.T ...

  3. android自适应屏幕翻转,Android中正确自适应屏幕翻转

    大家都知道,很多Android手机带有重力感应传感器,能够对手机的翻转做出响应.比如应用在屏幕的自动翻转.重力感应游戏等方面. 只要在androidmanifest.xml中对应的Activity中加 ...

  4. android 横竖屏幕切换,Android 横竖屏切换总结

    一.Android切换横竖屏 应用的横竖屏设置 应用的横竖屏设置主要是通过Activity的screenOrientation属性控制,属性值如下: 主要有以下两种方式设置screenOrientat ...

  5. 您的Android版本不兼容,android – 您的设备与某些设备的此版本不兼容

    对不起,我知道这个问题已经完成,但我还没有找到解决方案. 我更新了我的应用程序,现在我无法从某些设备中的Play商店下载Nexus 5. 我不知道为什么谷歌说我的设备不兼容,这是我的应用程序的清单. ...

  6. Android横向伸缩,Android 实现伸缩布局效果示例代码

    最近项目实现下面的图示的效果,本来想用listview+gridview实现,但是貌似挺麻烦的于是就用flowlayout 来addview实现添加伸缩的效果,实现也比较简单. mainActivit ...

  7. android 模板 ui布局,Android UI布局

    一.线性布局-LinearLayout(至上而下布局) 其中 android:orientation="vertical"意思为垂直 方向的线性布局,此处的"vertic ...

  8. android布局共享,布局共享(如所有ACTIVITY拥有相同的布局部分,比如ACTIONBAR,在BASEACTIVITY中写入布局)...

    有时候界面上会用到统一的布局,比如toolbar,你可能会想到在用到的地方都去加上toobar这样对于程序的开发与维护来说都显得特别麻烦,我们可以将他写在父类中. 首先创建一个BaseActivity ...

  9. Android应用资源---布局资源类型(Layout)

    布局资源定义了UI的Activity或组件的界面架构. 文件位置(FILE LOCATION): res/layout/filename.xml 文件名被用作资源ID. 被编译资源的数据类型(COMP ...

最新文章

  1. UIScrollView的代理方法(delegate)
  2. Allegro 如何把铺好铜皮的平面层互换
  3. 文巾解题 185. 部门工资前三高的所有员工
  4. 【干货】写给产品经理和设计师的用户体验说明书
  5. C#中PostMessage和SendMessage的参数传递实例
  6. 数数题(计数类 DP)做题记录
  7. 单例模式——Java
  8. (转载)spring配置hibernate 事务。
  9. 【UOJ#310】【UNR#2】黎明前的巧克力(FWT)
  10. 双击IE出现打开方式解决办法
  11. 空间直角坐标系(xyz)与大地坐标系(经纬高)的转换
  12. 如何用Mockplus快速做一个手风琴菜单?
  13. 前端网站连接MySQL数据库
  14. 有关H5第七章的盒子模型介绍
  15. 阿里G2插件——柱状统计图,长变量值显示设置
  16. 《鲸鱼安慰了大海》精选篇章
  17. 兼容微信6.74 ios12版本
  18. [论文阅读]PAN++: Towards Efficient and Accurate End-to-End Spotting of Arbitrarily-Shaped Text
  19. getElementById,getElementsByTagName,getElementsByName,getElementsByClassName的区别
  20. 用计算机进行图片处理课后反思,使用曲线工具画图教学反思

热门文章

  1. 连续小波变换和离散小波变换的区别
  2. Docker快速上手
  3. 如何让PPT播放时仅电脑显示备注页,而投影仪不显示
  4. AcWing 1902. 马拉松(枚举)
  5. ARM的SVC、IRQ和FIQ模式。
  6. LeetCode:26
  7. Pgpool-II安装部署
  8. PR软件中的音频硬件扬声器显示不工作的故障
  9. cadence原理图和PCB文件不能双击直接打开解决办法
  10. IMS各网元的主要功能