在Android应用程序中,界面由布局和控件组成。布局如框架,控件如砖瓦。

View控件

Android所有的UI元素都是通过View控件和ViewGroup容器构建的。在一个应用程序中ViewGroup容器可以包含普通的View控件,也可以包含ViewGroup容器。

注意!Android应用程序中的每个界面必须有且只有一个ViewGroup容器

界面布局的编写方式

在XML布局文件中编写布局

直接在res/layout文件夹下的activity_main.xml文件中编写。如图将根标签中更改为要使用的界面布局即可。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Hello World!"android:textColor="#f00"android:textSize="18sp"app:layout_centerInParent="true"/>
</RelativeLayout>

在java代码中编写布局

Android中所有的布局和控件的对象都可通过new关键字创建,将创建的View控件添加到ViewGroup容器中,就能在布局界面中显示View控件。如:

RelativeLayout relativeLayout=new RelativeLayout(this)
RelativeLayout.LayoutParams params=new RelativeLayout.LayoutParams{RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.Wrap_CONTENT);
//addRule参数对应RelativeLayout的XML布局属性
TextView textView=new TextView(this);        //创建TextView控件
textView.setText("Hello Word!");            //设置TextView控件的文字内容
//添加TextView对象和TextView布局属性
relativeLayout.addView(textView, params);
setContView(relativeLayout);        //设置在Activity中显示RelativeLayout

不管用那种方式编写布局,它们控制的的界面行为本质是一样的

界面布局的通用属性

android:id      设置布局的标识,当前布局的唯一标识,在XML中通过"@+id/属性名称"定义。

在java代码中通过findViewById()方法传入该int值获取布局对象

android:layout_width        设置布局宽度

fill_parent: 表示该布局的宽度与父容器的宽度相同
match_parent 与fill_parent作用相同,推荐使用fill_parent
wrap_content 表示该布局的宽度能恰好包裹它的内容

android:layout_height        设置布局高度

fill_parent: 表示该布局的宽度与父容器的高度相同
match_parent 与fill_parent作用相同,推荐使用fill_parent
wrap_content 表示该布局的宽度能恰好包裹它的内容

android:background        设置布局的背景,可引用图片颜色资源

android:layout_margin       设置当前布局与屏幕边界,周围布局与控件的距离

相似的还有layout_marginTop,layout_marginButtom,layout_marginRight,layout_marginLeft

android:padding          设置当前布局与该布局中空间的距离

相似的还有paddingTop,paddingButtom,paddingLeft,paddingRight,

线性布局

线性布局LinearLayout,线性布局内的子控件通常被指定为水平或竖直排序。

线性布局中常用的两个属性

android:orientation        设置布局内的控件排列顺序,可选值vertical和horizontal

vertical 表示LinearLayout内控件从上到下依次竖直排序
horizontal 表示LinearLayout内控件从左到右依次水平排序

android:layout_weight        在布局内设置控件权重,属性值可直接写int值,通过设置权重使布局内的控件按照权重比显示大小

相对布局

相对布局RelativeLayout通过相对定位来指定子控件的位置,

常用的子控件属性表

android:layout_centerlnParent 设置当前控件位于父布局的中央位置
android:layout_ceneterVertical 设置当前控件位于父布局的垂直居中位置
android:layout_centerHorizontal 设置当前控件位于父控件水平居中位置
android:layout_above 设置当前控件位于某控件上方
android:layout_below 设置当前控件位于某控件下方
android:layout_toLeftOf 设置当前控件位于某控件左侧
android:layout_toRightOf 设置当前控件位于某控件右侧
android:layout_alignParentTop 设置当前控件是否与父控件顶端对齐
android:layout_alignParentLeft 设置当前控件是否与父控件左对齐
android:layout_alignParentRight 设置当前控件是否与父控件右对齐
android:layout_alignParentBottom 设置当前控件是否与父控件低端对齐
android:layout_alignTop 设置当前控件的上边界与某控件的上边界对齐
android:layout_alignBottom 设置当前控件的下边界与某控件的下边界对齐
android:layout_alignLeft 设置当前控件左边界与某控件的左边界对齐
android:layout_alignRight 设置当前控件的右边界与某控件的右边界对齐

表格布局

表格布局TableLayout用行列的形式来管理控件,可通过TableRow布局或控件来控制表格的行数,在TableRow布局中添加控件来控制表格的列数。

TableLayout继承自LinearLayout,所以它支持LinearLayout的所有属性,此外还有其他常用属性

android:stretchColumns

设置可拉伸的列;

当android:stretchColumns="0"则第一列可拉伸

android:shrinkColumns 设置可收缩的列。
android:collapseColumns 设置可隐藏的列

常用的控件属性

android:layout_coulmn

设置该控件显示的位置,

当android:layout_coulmn="0"则在第2个位置显示

android:layout_span 设置该控件占据几列,默认为1列

在TableLayout中,列的宽度由该列中最宽的那个单元格(控件)决定,整个的宽度取决于父容器

帧布局

帧布局FrameLayout创建一块空白区域,添加到该区域的每一个字控件占一帧,帧会一个一个叠加到一起,后加入的控件会叠加到上一个控件的上层,默认时所有控件会与布局的左上角对齐。

特殊属性

android:foreground 设置FrameLayout容器的前景图像(始终在所有子控件之上)
android:foregroundGravity 设置前景图像显示的位置

Android常见页面布局相关推荐

  1. Android常见界面布局

    第2章 Android常见界面布局 第2章 Android常见界面布局 2.1 View视图 2.2 界面布局编写方式 2.2.1 在XML文件中编写布局 2.2.2 在Java代码中编写布局 2.3 ...

  2. Android常见界面布局(详细介绍)

    一.View视图 所有的UI元素都是通过View与ViewGroup构建的,对于一个Android应用的用户界面来说,ViewGroup作为容器盛装界面中的控件,它可以包含普通的View控件,也可以包 ...

  3. 第2章 Android常见界面布局

    课后习题 1. 列举Android中的常用布局,并简述他们各自的特点 Android中有五种常用布局,分别为RelativeLayout(相对布局).LinearLayout(线性布局).FrameL ...

  4. Android的页面布局

    1. Android的基础布局                                 LinearLayout 线性布局 RelativeLayout 相对布局 TableLayout 表格 ...

  5. (2)Android常见界面布局

    文章目录 2.1 View控件 2.2 界面布局编写方式 XML中编写 Java中编写 2.3 界面布局的通用属性 android:id android:layout_width&&a ...

  6. Android Studio | 页面布局

    1.相对布局--RelativeLayout 相对布局是通过相对定位的方式让控件出现在布局任意位置. 如果不指定控件摆放的位置,控件都会被默认放在RelativeLayout的左上角.因此要先指定一个 ...

  7. android fm页面布局,荔枝FM Android客户端产品体验报告

    概览 手机:魅族MX3 操作系统:Flyme OS 3.5.2(A19220) 体验产品:荔枝FM Android客户端 软件版本:V2.0.2 需求分析 目标人群:喜欢听广播.音乐.脱口秀,爱尝试新 ...

  8. android studio页面布局代码,还在用Android正经布局来写页面吗?

    来源:24K纯帅 ConstraintLayout布局出来已经很久了,刚出来那会儿就想尝试一下的,结果半天都没适应,前两天看到一篇ConstraintLayout实战的文章,看完之后发现这布局贼鸡儿好 ...

  9. android 机顶盒 页面布局,Android机顶盒用户DIY手册.doc

    (完美WORD文档DOC格式,可在线免费浏览全文和下载)值得下载! Huawei Technologies Co.,Ltd.Android机顶盒用户DIY手册[键入文档副标题][刘勋][2011-12 ...

最新文章

  1. CMake结合PCL库学习(1)
  2. 你知道吗?du 和 df 的统计结果为什么不一样
  3. 消息摘要算法示例(python和go)
  4. Java设计模式之观察者Observer模式代码示例
  5. python 财务报表审计_python 自动化审计
  6. python处理excel代码_Python实现读写Excel和修改Excel的代码
  7. 羊皮卷的实践-第二十五章
  8. 魔方财务对接码支付插件
  9. 手把手教你最好用的数据分析方法,会用的没几个
  10. python实训报告pygame_20192418 2019-2020-2 《Python程序设计》实验4报告
  11. ラブ・ストーリーは突然に(突然發生的愛情故事)歌詞
  12. Spotfire 表达式之逻辑函数
  13. 用HTML绘制三线表,CSS制作三线表 | 学步园
  14. 创作的第一个智能婚恋系统源代码,类似于百合网。
  15. linux添加多网站,linux添加多个网站-微笑の风
  16. excel表格打印每页都有表头_【Excel】打印超长表格,怎么才能每页都显示表头?...
  17. 电脑桌面计算机文件打不开怎么办,教大家电脑桌面上的文件都打不开怎么办
  18. 时序数据库为什么选 Prometheus
  19. 那个让你头大的数据结构,用Python学会变简单吗?
  20. 初学Java(三)——学习准备

热门文章

  1. IDEA中配置Vue启动Configurations
  2. Validation 使用
  3. unity按钮的使用
  4. Linux基础, 基础命令, 基于公钥的免密登录
  5. 什么是垂直搜索? 推荐几个网站
  6. 强网杯2022 pwn 赛题解析——yakacmp
  7. CoolPad(酷派)修改日志等级
  8. 虚拟机文件过多,如何删除?vmdk文件能删除吗?
  9. KEIL、uVision、RealView、MDK、KEIL C51区别比较
  10. python基于PHP+MySQL的在线音乐点歌系统