欢迎访问wabc.cc — 源码交易 · 软件定制 · 建站服务一站式平台
全部分类
首页 - 首页 - 解决方案 - 推荐文章 - 软件测试学习教程—Android基本布局

软件测试学习教程—Android基本布局

分类:推荐文章 · 发布:2025-12-20 · 浏览:1

  一、布局的介绍:【了解】

  1、在4.0以前版本中一共有五种布局,都是ViewGroup的子类。分别是AbsoluteLayout、RelativeLayout、LinearLayout、FrameLayout、TableLayout。而TableLayout是LinearLayout的子类。(中文分别是:绝对布局、相对布局、线性布局、帧布局、表格布局)。

  2、在2.2操作系统中将AbsoluteLayout过期。而目前FrameLayout、TableLayout也逐渐少用。

  3、在4.0之后又新增GridLayout。(GridLayout最经典的案例是计算器界面)

  总之,Android中一共有六种布局。目前推荐使用RelativeLayout、LinearLayout、GridLayout三种布局。

  二、View类的常用xml属性:

  (一)、类结构:

  java.lang.Object

  ↳android.view.View

  (二)、View及其子元素常用属性:(各种布局及控件的共同属性)

  android:id

  android:background

  android:onClick为该控件的单击事件绑定监听器

  android:padding设置控件四周的填充区域

  android:visibility设置该控件是否可见(invisible/visible/gone)

  android:alpha设置该组件透明度

  android:layout_height子组件的布局高度

  android:layout_width子组件的布局宽度

  android:layout_margin设置子组件的外边距

  三、LinearLayout:【掌握】

  (一)、概念:线性布局控制其中的控件或组件横向或纵向排列。不线性布局布局中,每一行或每一列只能放一个控件。并且线性布局不会换行。当控件排列到窗体边缘,后面的控件就被隐藏,而不会显示出来。

  线性布局的默认方向是水平方向(Horizontal)。

  (二)、LinearLayout的常用属性:

  1.android:orientation定义布局内控件或组件的排列方式

  可选项:vertical、horizontal

  2.android:layout_width定义控件的宽度

  可选项:fill_parent/match_parent/wrap_content/绝对数值

  备注:fill_parent/match_parent的效果完全一致,都是填充整个父控件。但是自2.2版本开始推荐使用match_parent。wrap_content指的是该控件的宽度正好包裹内容物。

  3.android:layout_height定义控件的高度

  可选项:fill_parent/match_parent/wrap_content/绝对数值

  备注:fill_parent/match_parent的效果完全一致,都是高度填充整个父控件。wrap_content指的是该控件的高度正好包裹内容物。

  4.android:id设置控件的id。这样就可以在R.java中自动生成相应的值,在程序中通过findViewById就可以调用。

  设置id的格式为:android:id=" +id/id的名字"

  5.android:background设置控件的背景颜色或背景图片

  例如:android:background="#ffffff"

  android:background=" drawable/图片名称"

  【备注:】

  颜色有RGB颜色格式和ARGB格式。RGB是红绿蓝三原色。而ARGB是带alpha的三原色,即有透明度的三原色。

  #FFFFFF代表白色

  #000000黑色

  #FFFFFFFF完全不透明

  #00FFFFFF完全透明

  #88FFFFFF半透明

  6.android:layout_weight设置控件的权重。即各控件在水平或者垂直方向上平均分配。

  备注:如果是水平方向设置权重,要将android:layout_width设置为0dp,如果是垂直方向上使用权重,要将android:layout_height设置为0dp。否则权重容易受到高度或宽度的干扰而出现偏差。

  7.android:gravity该属性用来控制该View的内容物的位置。

  如果该属性是定义在布局节点中,则该布局中所有控件的位置都受到这个属性的控制。

  如果该属性出现在Button、TextView、EditText等控件中,则用来控制这些控件上的文字的位置。

  可选项有:top、bottom、left、right、center_vertical、fill_vertical、center、fill等等。

  【备注:】本属性与android:layout_gravity不同。

  8.android:layout_gravity该属性用于设置控件相对于容器的对齐方式。

  可选项有:top、bottom、left、right、center_vertical、fill_vertical、center、fill等等。

  这些可选项中不是适用于每一种布局。在垂直线性布局中,android:gravity为bottom不起作用;而水平线性布局中,android:gravity为right不起作用。

  【备注:】而本属性是android:layout_gravity属性,与android:gravity属性不同。

  (三)、LinearLayout的特有属性:【重新归纳:去除公共属性后的特有属性】

  1、android:orientation布局管理器内组件的排列方式

  2、android:gravity设置布局管理器内组件的对齐方式

  (四)、LinearLayout子元素的特有属性:

  1、android:layout_weight子元素在LinearLayout中所占的权重

  2、android:layout_gravity子元素在LinearLayout中的对齐方式

  四、RelativeLayout:【掌握】

  (一)、概念:指按着控件之间的相对位置来进行布局。

  (二)、RelativeLayout特有属性:

  1、android:gravity设置布局容器内子控件的对齐方式

  2、android:ignoreGravity设置布局管理器内哪个控件不受gravity属性的影响

  (三)、RelativeLayout子元素的特有属性:LayoutParams

  A、第一组:指兄弟控件之间的相对位置。该组属性的值是另一个控件的id。

  layout_toRightOf该控件在哪个控件的右侧

  layout_toLeftOf该控件在哪个控件的左侧

  layout_above该控件在哪个控件的上侧

  layout_below该控件在哪个控件的下侧

  B、第二组:指兄弟控件之间的对齐关系。该组属性的值是另一个控件的id。

  layout_alignRight该控件与哪个控件的右对齐

  layout_alignLeft该控件与哪个控件的左对齐

  layout_alignTop该控件与哪个控件的顶对齐

  layout_alignBottom该控件与哪个控件的底对齐

  C、第三组:指控件与父布局之间的对齐关系。该组属性的值是true或者false。

  layout_alignParentRight该控件与父布局控件的右对齐吗?

  layout_alignParentLeft该控件与父布局控件的左对齐吗?

  layout_alignParentTop该控件与父布局控件的顶端对齐吗?

  layout_alignParentBottom该控件与父布局控件的底部对齐吗?

  layout_centerInParent该控件位于父布局控件的中心位置吗?

  layout_centerVertical该控件位于父布局控件的垂直中心位置吗?

  layout_centerHorizontal该控件位于父布局控件的水平中心位置吗?

  【备注:】sp、dp、dip、pt、px等单位的区别?

  dpi dpi指像素密度。dotsper inch,即每英寸内像素点的个数。它不是表示长度的单位。在android中认为:低(120dpi),中(160dpi),高(240dpi),超高(320dpi)。随着技术的增长,实际dpi已经超出这个定义范围。

  dip device independent pixels,即与设备无关的像素。目前这个单位已经被dp所取代,而不建议使用dip。

  dp与dip的概念一样。不过dp已经取代了dip。在Android中用来表示非文字大小的尺寸。例如:外边距、内填充等。

  sp scale independent pixel,即与缩放比例无关的像素。在android中常用来表示文字大小。

  px表示像素。因为同样是200px,但是在不同手机下显示的大小是不同的。

  pt point磅。1磅=1/74英寸

  总之:dp是用来定义非文字的尺寸,sp用来定义文字大小。px只用于产生一条一像素的分割线时使用。

  五、GridLayout:网格布局

  (一)、GridLayout布局属性:

  1、android:alignmentMode

  属性说明:设置布局的对齐模式。可以取以下值:

  alignBounds--对齐子视图边界。

  alignMargins--对齐子视图边距。

  2、android:columnCount

  属性说明:GridLayout的最大列数

  3、android:rowCount

  属性说明:GridLayout的最大行数

  4、android:orientation

  属性说明:GridLayout中子元素的布局方向。有以下取值:

  horizontal--水平布局。

  vertical--竖直布局。

  5、android:columnOrderPreserved

  属性说明:设置该网格布局是否保留列序号。默认是true。

  6、android:rowOrderPreserved

  属性说明:设置该网格布局是否保留行序号。默认是true。

  7、android:useDefaultMargins

  属性说明:设置GridLayout使用默认的边距。默认值是false。

  (二)、GridLayout子元素的属性:

  1、android:layout_column

  属性说明:显示该控件的列。例如,android:layout_column="0",表示在第1列显示该控件;android:layout_column="1",表示在第2列显示该控件。

  2、android:layout_row

  属性说明:该控件所在行。例如,android:layout_row="0",表示在第1行显示该控件;android:layout_row="1",表示在第2行显示该控件。它和android:layout_column类似。

  3、android:layout_columnSpan

  属性说明:列合并。即该控件所占的列数。例如,android:layout_columnSpan="2",表示该控件占2列。

  4、android:layout_rowSpan

  属性说明:行合并。即该控件所占的行数。例如,android:layout_rowSpan="2",表示该控件占2行。

  5、android:layout_gravity

  属性说明:该控件的布局方式。选项值:

  top--控件置于容器顶部,不改变控件的大小。

  bottom--控件置于容器底部,不改变控件的大小。

  left--控件置于容器左边,不改变控件的大小。

  right--控件置于容器右边,不改变控件的大小。

  center_vertical--控件置于容器竖直方向中间,不改变控件的大小。

  fill_vertical--如果需要,则往竖直方向延伸该控件。

  center_horizontal--控件置于容器水平方向中间,不改变控件的大小。

  fill_horizontal--如果需要,则往水平方向延伸该控件。

  center--控件置于容器中间,不改变控件的大小。

  fill--如果需要,则往水平、竖直方向延伸该控件。

  clip_vertical--垂直剪切,剪切的方向基于该控件的top/bottom布局属性。若该控件的gravity是竖直的:若它的gravity是top的话,则剪切该控件的底部;若该控件的gravity是bottom的,则剪切该控件的顶部。

  clip_horizontal--水平剪切,剪切的方向基于该控件的left/right布局属性。若该控件的gravity是水平的:若它的gravity是left的话,则剪切该控件的右边;若该控件的gravity是right的,则剪切该控件的左边。

  start--控件置于容器的起始处,不改变控件的大小。

  end--控件置于容器的结束处,不改变控件的大小。

上一篇:弘艾坊微商下单软件开发
下一篇:仿亦跑模式系统APP开发制作

相关文章

源码分类

热门源码

最新资讯

联系我们