FrameLayout

  • FrameLayout(帧布局)可以说是六大布局中最为简单的一个布局

  • 这个布局直接在屏幕上开辟出一块空白的区域,当我们往里面添加控件的时候,会默认把他们放到这块区域的左上角,而这种布局方式却没有任何的定位方式,所以它应用的场景并不多

  • 帧布局的大小由控件中最大的子控件决定,如果控件的大小一样大的话,那么同一时刻就只能看到最上面的那个组件!后续添加的控件会覆盖前一个!

  • 虽然默认会将控件放置在左上角,但是我们也可以通过layout_gravity属性,指定到其他的位置!

属性

「前景图像:永远处于帧布局最上面,直接面对用户的图像,就是不会被覆盖的图片。」

属性名value作用
foreground@drawable/pic设置改帧布局容器的前景图像
foregroundGravitycenter,fill,bottom...设置前景图像显示的位置

Example

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:foreground="@drawable/GengDanIcon"
   android:foregroundGravity="bottom">


   <View
       android:layout_width="300dp"
       android:layout_height="300dp"
       android:background="#3F51B5"
       android:layout_gravity="center"/>


   <View
       android:layout_width="250dp"
       android:layout_height="250dp"
       android:background="#2196F3"
       android:layout_gravity="center"/>


   <View
       android:layout_width="200dp"
       android:layout_height="200dp"
       android:background="#00BCD4"
       android:layout_gravity="center"/>


   <View
       android:layout_width="150dp"
       android:layout_height="150dp"
       android:background="#009688"
       android:layout_gravity="center"/>


   <View
       android:layout_width="150dp"
       android:layout_height="150dp"
       android:background="#009688"
       android:layout_gravity="center"/>


</FrameLayout>

  • 效果图
【小白笔记】Android开发 FrameLayout帧布局及TableLayout表格布局_java【小白笔记】Android开发 FrameLayout帧布局及TableLayout表格布局_java_02

TableLayout

  • Android也允许我们使用表格的方式来排列组件,就是行与列的方式,这就是TableLayout

属性

属性名value作用
collapseColumnsint设置需要被隐藏的列的序号
layout_columnint设置该单元显示位置
layout_spanint设置该单元占用几行 默认一行
shrinkColumnsint设置允许被收缩的列的列序号
stretchColumnsint设置运行被拉伸的列的列序号

Example

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:stretchColumns="2"
   android:shrinkColumns="0">

   <TableRow>
       <Button
           android:text="北京工业大学耿丹学院"/>

       <Button
           android:text="BGD"/>

       <Button
           android:text="软件国际18-1" />

       <TextView
           android:text="wosdadsasdasdas"/>

   </TableRow>

   <TableRow>
       <Button
           android:text="软件国际18-1"
           android:layout_column="1"/>

   </TableRow>
   <TableRow>
       <Button
           android:text="BGD"
           android:layout_column="2"/>

   </TableRow>

</TableLayout>
  • 效果图
【小白笔记】Android开发 FrameLayout帧布局及TableLayout表格布局_java_03