安卓六大布局

LinearLayout(线性布局)

1.简介
  • 线性布局在开发中使用最多,具有垂直方向与水平方向的布局方式。
  • LinearLayout 默认是垂直排列的,但是可以通过设置 android:orientation 属性来改变为水平排列。
2.常用属性
  • orientation:控制布局方向。

    vertical:垂直方向布局。

    horizontal 水平方向布局。

  • gravity:控制组件所包含的子元素的对其方式。

    center:子容器相对于父容器所在的位置为正中心。

    cente_verticalr: 子容器相对于父容器所在的位置为垂直方向的正中心。

    center_horizontal:子容器相对于父容器所在的位置为水平方向的正中心。

    top/bottom/left/right:子容器相对于父容器所在的位置为上/下(默认)/左/右。

  • layout_gravity:控制该组件在父容器里的对齐方式。

    left:子视图相对于其容器左侧对齐。

    right:子视图相对于其容器右侧对齐。

    top:子视图相对于其容器顶部对齐。

    bottom:子视图相对于其容器底部对齐。

    center_horizontal:子视图在其容器的水平方向上居中对齐。

    center_vertical:子视图在其容器的垂直方向上居中对齐。

    center:子视图在其容器的水平和垂直方向上都居中对齐,等价于同时设置

    center_horizontal和center_vertical。

  • layout_width、layout_heigth:布局宽度、高度。

    布局的宽度通常不直接写数字的。

    用wrap_content(组件实际大小)fill_parent或者match_parent填满父容器。

  • background:为组件设置背景。

    background=“#xxxx” :指定线性布局的背景颜色

    background=“@color/colorPrimary” :指定自设置的颜色。

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

    一般要把分配该权重方向的长度设置为零。

    比如在水平方向分配权重,就把width设置为零。

RelativeLayout(相对布局)

1.简介
  • 允许开发者通过指定控件相对于其他控件或容器边缘的位置来布局界面。
  • 这种布局方式相对于LinearLayou来说更加灵活,因为它不限制控件必须放置在垂直或水平方向上。
  • 例如,你可以指定一个按钮位于另一个按钮的下方、右侧或者某个控件的中心位置。
2.常用属性
  • ayout_width/layout_height

    • 宽度:wrap_content(默认),match_parent,具体像素值(如 100dp)。
    • 高度:wrap_content(默认),match_parent,具体像素值(如 100dp)。
  • 根据父容器定位

左对齐:layout alignParentLeft
右对齐:layout_alignParentRight
顶部对齐:layout_alignParentTop
底部对齐:layout_alignParentBottom
水平居中:android:layout centerHorizontal
垂直居中:android:layout centerVertical
中间位置:android:layout centerInParent

  • 根据兄弟组件定位

  • 参考组件的左边:layout_toLeftOf
    一参考组件的右边:layout_toRightOf
    参考组件的上方:layout above
    参考组件的下方:layout below
    对齐参考组件的上边界:layout alignTop
    对齐参考组件的下边界:layout alignBottom
    一对齐参考组件的左边界:layout_alignLeft
    对齐参考组件的右边界:layout_alignRight

  • margin:偏移量(外边距)

    设置组件与父容器的边距,又叫偏移
    设置组件上下左右的偏移量:layout margin
    设置组件离左边的偏移量:layout marginLeft
    设置组件离右边的偏移量:layout_marginRight
    设置组件离上面的偏移量:layout_marginTop
    设置组件离下面的偏移量:layout marginBottom

  • padding:填充(内边距)

    设置组件内部元素间的边距(比如Textview里的字体位置)
    往内部元素的上下左右填充一定边距:android:padding
    往内部元素的左边填充一定边距:paddingLeft
    往内部元素的右边填充一定边距:paddingRight
    往内部元素的上方填充一定边距:paddingTop
    往内部元素的下方填充一定边距:paddingBottom

TableLayout(表格布局)

1.简介
  • 用于创建表格布局的类。
  • 允许你以表格的形式安排其子视图,类似于 HTML 中的 元素。
  • 直接往TableLayout中添加组件,这个组件占满一行。
  • .如果想要一行上有多个组件,就要添加一个TableRow的容器。
2.常用属性
  • stretchColumns

    • 作用:指定哪列应该被拉伸以填充额外的空间。
    • 属性值:可以指定一个或多个列的索引,用逗号分隔。例如,“0,2” 表示第 0 列和第 2 列会被拉伸。
  • shrinkColumns

    • 作用:指定哪列应该收缩以适应空间。
    • 属性值:与 stretchColumns 类似,指定一个或多个列的索引。
  • collapseColumns

    • 作用:指定在视图不够宽时哪些列应该被折叠,即不显示。
    • 属性值:同上,指定列的索引。
  • layout_column

    • 作用:指定子视图应该放置在哪一列。
    • 属性值:列的索引,从 0 开始计数。
  • layout_row

    • 作用:指定子视图应该放置在哪一行。
    • 属性值:行的索引,从 0 开始计数。
  • layout_rowSpan

    • 作用:指定子视图应该跨越多少行。
    • 属性值:数值,表示子视图应该跨越的行数。
  • layout_margin/layout_padding

    • 作用:指定子视图周围的外边距/内边距。
    • 属性值:可以是像素值,如 “10dp”,也可以是百分比,如 “10%”。

FrameLayout(帧布局)

1.简介
  • 属于线性布局的一种,它将所有的子视图按照它们添加的顺序依次垂直或水平排列。
  • 与 LinearLayout 不同的是,FrameLayout 中的子视图只能有一个可见的,其余的将被隐藏。
  • 常用于创建动画效果,也可以用来覆盖在其他布局之上显示重要内容。
2.常用属性
  • foreground:设置改帧布局容器的前景图像。
  • foregroundGravity:设置前景图像显示的位置。

GridLayout(网格布局)

1.简介
  • 用于创建网格布局的布局管理器,在 Android 开发中属于相对布局(RelativeLayout)的一部分。
  • 允许将子视图组织成网格状排列,每个子视图占据网格的一个或多个单元格。
2.常用属性
  • 设置排列对其

    排列方式——orientation:vertical(竖直,默认)或者horizontal(水平)

    对齐方式——layout gravity:center,left,right,bottom

  • 设置几行几列

    设置行数——rowCount=“4”:设置网格布局有4行

    设置列数——columnCount=“4”:设置网格布局有4列

  • 设置组件所在的行列

    第几行——layout_row ="1” :设置组件位于第二行

    第几列——layout_column =“2”:设置该组件位于第三列

  • 设置组件横跨几行几列

    横跨几行——layout_rowSpan =“2”:纵向横跨2行

    横跨几列——layout_columnSpan ="3”:横向横跨2列

AbsoluteLayout(绝对布局)

1.简介
  • 允许开发者精确地控制视图的位置和大小,通过设置它们的绝对坐标来确定它们在屏幕上的位置。
  • 这种布局方式不依赖于屏幕上的其他元素,使得视图可以放置在任何地方。
  • 实际应用中,这种布局用的比较少,因为Android终端一般机型比较多,各自的屏幕大小。分辨率等可能都不一样,如果用绝对布局,可能导致在有的终端上显示不全等。
2.常用属性
  • layout_x 和 layout_y:设置视图在容器中的 x 坐标和 y 坐标。
  • layout_width 和 layout_height:设置视图的宽度和高度。可以是具体的像素值,也可以是百分比值(如 wrap_content、match_parent)。
  • layout_gravity:设置视图在容器中的对齐方式,类似于 RelativeLayout 中的。
  • layout_margin:设置视图边缘与容器边缘之间的空白距离。
  • layout_alignParentLeft、layout_alignParentTop、layout_alignParentRight 和 layout_alignParentBottom:设置视图是否与其父布局的相应边缘对齐。
  • layout_below、layout_above、layout_toLeftOf、layout_toRightOf、layout_alignLeft、layout_alignTop、layout_alignRight 和 layout_alignBottom:通过这些属性,可以设置视图与屏幕上其他视图的对齐方式。
  • 28
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Android 六宫格布局是指将界面分为六个等大小的方格,每个方格中可以放置不同的控件或者视图。这种布局方式在Android应用的界面设计中经常使用,可以使界面看起来整齐、美观,并且提供了较高的灵活性。 实现六宫格布局的方法有很多种,其中比较简单的方式是使用GridLayout布局管理器。GridLayout可以将子视图按照行和列的方式进行排列,因此非常适合用于六宫格的界面设计。 在XML布局文件中,我们可以通过设置GridLayout的属性来实现六宫格布局。首先,我们需要将GridLayout设置为6行1列,表示界面将被分为六个水平方向的等高行;然后,我们可以在每个格子中添加其他的控件或者视图。通过设置每个格子的权重、行列位置等属性,可以实现不同的布局效果,例如让某些格子占据更多的空间或者选择合适的控件来填充格子。 另外,我们还可以通过Java代码来实现六宫格布局。可以使用GridLayoutManager或者自定义布局管理器继承自RecyclerView.LayoutManager来实现。这种方式可以更加灵活地控制子视图的排列方式,可以根据自己的需求定制不同的布局效果。 总之,Android六宫格布局是一种常见且实用的界面布局方式,可以通过使用GridLayout或者自定义布局管理器来实现。这种布局方式可以使界面整齐、美观,并且提供了较高的灵活性,适合用于不同类型的Android应用界面设计。 ### 回答2: 安卓的六宫格布局是一种常见的应用界面布局方式,它将屏幕分割为2行3列的六个等大的格子,每个格子可以放置不同的应用模块或者功能模块。 此布局通常用于主屏幕或者应用程序的菜单界面,以提供快速访问和导航。每个格子可以自定义放置不同的应用图标、小部件或者快捷方式,以满足用户的个性化需求。 六宫格布局的优势在于简单直观,用户可以一目了然地找到和使用所需的应用或者功能。同时,由于每个格子的尺寸相同,不同的应用图标或者模块之间的界面一致性很高,提升了用户界面的美观度和易用性。 此外,六宫格布局还可以根据用户的喜好进行调整和定制。用户可以自由地拖动和排列格子的位置,以适应个人喜好和使用习惯。这种灵活性使得用户可以根据自己的需求将常用的应用设置为更加方便的位置,提高了操作效率。 总的来说,安卓的六宫格布局提供了一种简单直观且易于个性化的界面布局方式,使得用户可以快速访问和导航不同的应用或者功能模块。它为用户提供了良好的用户体验和操作效率,受到广大安卓用户的喜爱。 ### 回答3: 六宫格布局是一种常见的Android布局方式,适用于需要将界面划分为6个等宽、等高的方格的情况。 在Android中,可以通过使用GridLayout布局管理器来实现六宫格布局。首先,在XML布局文件中定义一个GridLayout容器,并设置相关属性,如行数、列数、间距等。然后,在GridLayout中添加6个子视图,即代表六个方格的控件。 可以将六宫格布局分为两步骤:定义和设置属性与添加子视图。 在定义和设置属性方面,可以通过设置GridLayout的属性来实现六宫格布局的效果。比如,设置行数和列数为2,即可将布局分为2行3列的六个方格。可以使用layout_rowSpan和layout_columnSpan属性来设置某个子视图占据多个行或列的大小。也可以使用layout_gravity属性调整子视图在方格中的位置。 在添加子视图方面,可以使用GridLayout的addView方法来将子视图添加到布局中。可以使用LayoutInflater来实例化子视图,并为子视图设置相关属性。可以通过设置子视图的宽度和高度为0dp,以实现平均分配布局。 总结起来,通过使用GridLayout布局管理器,可实现六宫格布局,将界面划分为6个等宽、等高的方格。根据需要,可以通过设置各个子视图的属性和位置,来实现不同的布局效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值