Android:外在形象——界面布局 11

24 篇文章 0 订阅
24 篇文章 0 订阅
  • 布局文件的意义

Android中主要用来定义UI界面的一种方式是利用xml布局文件

布局文件必须放到res/layout目录下

ViewGroup.LayoutParams提供两个XML属性设定组件的大小。

android:layout_height:指定该子组件的基本高度;

android:layout_width:指定该子组件的基本宽度。

布局的本质还是一种视图(view),都是继承了布局管理器(ViewGroup)的类

所以布局中也可以添加布局

属性     描述
ID     控件名字,是当前控件的唯一标识,常用字符串表示
background     调整当前界面背景
gravity     调整所有控件所在的整体位置
layout_width     当前界面整体宽度,常用wrap_content和match_parent
layout_height     当前界面整体高度,常用wrap_content和match_parent
padding     调整屏幕边距,可以整体调整或者单项调整
text     控件显示文本,可调用values文件夹中的strings.xml来显示文本内容
textColor     显示文本颜色,可调用values文件夹中的color.xml来定义
textSize     显示文本字体大小,单位常用dp和px
textStyle     显示文本字体风格,可选的有斜体和粗体
 

  • FrameLayout(帧布局)

帧布局也叫层叠布局,从屏幕左上角按照层次先后顺序堆叠方式布局,后面的控件覆盖在前面的控件之上。

因为层叠的特殊性,常常用在做透明蒙层类的功能上,比如地图的控制层,播放器的控制层等。

 

  • LinearLayout(线性布局)

线性布局是将子组件按照先后顺序排列的布局,具有垂直方向与水平方向的布局方式,通过设置属性“android:orientation”控制方向,属性值垂直(vertical)和水平(horizontal),如果不设置该属性,默认为水平方向。

android:layout_weight:权重,用来分配当前控件在剩余空间的大小。

使用权重一般要把分配该权重方向的长度设置为零,比如在水平方向分配权重,就把width设置为零。

 

  • RelativeLayout(相对布局)

相对布局可以让子组件相对于兄弟组件或父组件进行布局,可以设置子组件相对于兄弟组件或父组件进行上下左右对齐。

相对布局一定要加组件Id才能管理。

 

RelativeLayout中的子组件常用的属性:

  1. 相对于父组件,使用true和false作为参数

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

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

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

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

  1. 相对给定id的控件,使用“@id/**”作为参数

android:layout_above 控件底部置于给定ID控件之上;

android:layout_below 控件底部置于给定ID控件之下;

android:layout_toLeftOf 控件右边缘与给定ID控件左边缘对齐;

android:layout_toRightOf 控件左边缘与给定ID控件右边缘对齐;

android:layout_alignBaseline 控件baseline与给定IDbaseline对齐;

android:layout_alignTop 控件顶部边缘与给定ID顶部边缘对齐;

android:layout_alignBottom 控件底部边缘与给定ID底部边缘对齐;

android:layout_alignLeft 控件左边缘与给定ID左边缘对齐;

android:layout_alignRight 控件右边缘与给定ID右边缘对齐;

  1. 居中,使用true和false作为参数

android:layout_centerHorizontal 水平居中;

android:layout_centerVertical 垂直居中;

android:layout_centerInParent 父控件的中央;

 

  • TableLayout(表格布局)

以表格形式显示子组件的布局方式

 

  • GridLayout(网格布局)

Android4.0之后新加入的布局,和表格布局类似,但是有新加入的一些功能

 

  • AbsoluteLayout(绝对布局)

绝对布局中将所有的子组件通过设置android:layout_x 和 android:layout_y属性,将子组件的坐标位置固定下来,即坐标(android:layout_x, android:layout_y) ,layout_x用来表示横坐标,layout_y用来表示纵坐标。屏幕左上角为坐标(0,0),横向往右为正方向,纵向往下为正方向。实际应用中,这种布局用的比较少,因为Android系统设备屏幕比较多样化,各自的屏幕大小、分辨率等都不一样,使用绝对布局,可能导致在有的设备上出现显示不全、位置不理想等问题出现。

 

  • 常用的通用布局属性
  1. layout_margin

用于设置控件边缘相对于父控件的边距

android:layout_marginLeft

android:layout_marginRight

android:layout_marginTop

android:layout_marginBottom

 

  1. padding

用于设置控件内容相对于控件边缘的边距

android: paddingLeft

android: paddingRight

android: paddingTop

android: paddingBottom

 

  1. gravity

用于设置View组件里面内容的对齐方式

Top 对齐到顶端

Bottom 对齐到底端

Left 对齐到左侧

Right 对齐到右侧

Center 居中对齐

 

  1. layout_gravity

用于设置容器组件(可以具有子组件的组件)的对齐方式

android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐

android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐

android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐

android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值