您当前的位置:首页 > 互联网教程

Android 常见布局

发布时间:2025-05-16 18:30:14    发布人:远客网络

Android 常见布局

一、Android 常见布局

Android六大基本布局分别是:线性布局LinearLayout、表格布局TableLayout、相对布局RelativeLayout、层布局FrameLayout、绝对布局AbsoluteLayout、网格布局GridLayout。其中,表格布局是线性布局的子类。网格布局是android 4.0后新增的布局。

在手机程序设计中,绝对布局基本上不用,用得相对较多的是线性布局和相对布局。

padding是站在父view的角度描述问题,它规定它里面的内容必须与这个父view边界的距离。margin则是站在自己的角度描述问题,规定自己和其他(上下左右)的view之间的距离,如果同一级只有一个view,那么它的效果基本上就和padding一样了。

显示特点:所有子控件按照横向或者竖向依次排列

left(左)、right(右)、top(上)、bottom(下)、center(中心)、

enter_vertical(竖向中心)、center_horizontal(横向中心)

left(左)、right(右)、top(上)、bottom(下)、center(中心)、

enter_vertical(竖向中心)、center_horizontal(横向中心)

子控件的用法:android:layout_weight="1"多个控件同时使用,可以实现平分的效果

显示特点:和LinearLayout布局相似,所有子控件默认显示在RelativeLayout的左上角

layout_toRightOf在指定控件的右边

layout_toLeftOf在指定控件的左边

layout_below在指定控件的下边子控件对齐关系

layout_alignRight与指定控件右对齐

layout_alignLeft与指定控件左对齐

layout_alignTop与指定控件上对齐

layout_centerInParent与父容器中间对齐 pairunte

layout_centerVertical与父容器竖向中心对齐

layout_centerHorizontal与父容器横向中心对齐

layout_alignParentLeft与父容器左边对齐

layout_alignParentTop与父容器上边对齐

layout_alignParentRight与父容器右边对齐

layout_alignParentBottom与父容器下边对齐

显示特点:所有子控件默认在GridLayout中横向依次排列,当只等每行的列数时,到达指定列数

layout_gravity在一个网格中的重心位置

显示特点:所有的子控件默认显示在FrameLayout的左上角,会重叠在一起显示。

layout_gravity(设置给子控件,调整控件在容器内的重心)

center(中心)、 center_vertical(竖向中心)

center_horizontal(横向中心)

表格布局和网格布局类似,但是需要注意的是,表格布局不能跨行,只能跨列

二、android的ui布局有哪些

布局(Layout)的概念是针对Activity的,Activity就是布满整个Android设备的窗口或者悬浮于其他窗口上的交互界面。在一个应用程序中通常由多个Activity构成,每个需要显示的Activity都需要在AndroidManifest.xml文件之中声明。

通常情况下,开发人员可以使用两种方式来创建UI组件,一种方式是使用XML方式来配置UI组件的相关属性,然后装载这些UI组件,这也是最常用的方式。但是有些特殊情况下,需要动态生成UI组件,则需要使用第二种方式,完全使用Java代码来创建UI组件。

XML布局文件是Android系统中定义的Layout的常用方式,所有布局文件必须包含在res/layout目录中,且必须符合Java的命名规范。当在res/layout目录下新增了布局文件之后,R.java文件会自动收录该布局资源,Java代码可通过setContentView方法在Activity中显示该Layout。

setContentView(R.layout.<资源名称>);

在布局文件中可以指定UI组件的android:id属性,该属性的属性值代表该组件的唯一标识。通过Activity.findViewById()访问,并且findViewById()必须在setContentView加载xml文件之后使用,否则会抛出异常。

Android应用的绝大部分UI组件都放在android.widget包及其子包、android.view包及其子包中,Android应用的所有UI组件都继承了View类。View类还有一个重要的子类:ViewGroup,ViewGroup类是所有布局管理器的父类。

ViewGroup容器控制其子组件的分布依赖于ViewGroup.LayoutParams、ViewGroup.MarginLayoutParams两个内部类。

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

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

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

这两个属性有三个基本值,这两个属性有三个特定的值:

fill_parent:指定组件的高度、宽度与父容器组件的一样。

match_parent:与fill_parent一样,Android2.2开始推荐使用。

ViewGroup.MarginLayoutParams用于控制子组件周围的页边距。

android:layout_marginBottom(下边距);

android:layout_marginLeft(左边距);

android:layout_marginRight(右边距):

对于View的尺寸,android提供了三种单位供选择使用:

sp:与scale无关的像素,与dp类似。

尺寸单位选择的技巧:如果设置长度、高度等属性时可以使用dp或sp,但是如果设置字体,需要使用px。如果使用dp或sp,系统会根据屏幕密度的变化进行转换。

为了适应各种界面风格,Android提供了五种布局规范,利用这五种布局,基本上可以在设备上随心所欲的摆放任何UI组件,这五种布局分别是:

LinearLayout是最常用的布局方式,在XML文件中使用标记。它会将容器里的UI组件一个一个挨着排列起来。但是LinearLayout不会换行,当UI组件超出屏幕之后,则不会被显示出来。LinearLayout有两个重要的XML属性:androidgravity(对齐方式);android:orientation(排列方式)。

android:orientation(排列方式),设定了LinearLayout中包含的UI组件的排列方式,有两个选项vertical(竖向)、horizontal(横向,默认值)

android:gravity(对齐方式),设定LinearLayout中包含UI组件的对齐方式,其选项很多,常用上(top)、下(bottom)、左(left)、右(right)。

三、Android基础之常用五种布局

1、所有东西依次都放在左上角,会重叠,这个布局比较简单,也只能放一点比较简单的东西。

2、分为垂直布局( android:orientation="vertical")和水平布局( android:orientation="horizontal")。

3、垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;

4、水平布局时,只有一行,每一个元素依次向右排列。

5、用X,Y坐标来指定元素的位置,这种布局方式也比较简单

6、在屏幕旋转时,往往会出问题,而且多个元素的时候,计算比较麻烦。

7、可以理解为某一个元素为参照物,来定位的布局方式。

8、相对于某一个元素 android:layout_below、 android:layout_toLeftOf

9、相对于父元素的地方 android:layout_alignParentLeft、 android:layout_alignParentRigh;

10、每一个 TableLayout里面有表格行 TableRow, TableRow里面可以具体定义每一个元素。每一个布局都有自己适合的方式,这五个布局元素可以相互嵌套应用,做出美观的界面。