Android常见页面布局
在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常见页面布局相关推荐
- Android常见界面布局
第2章 Android常见界面布局 第2章 Android常见界面布局 2.1 View视图 2.2 界面布局编写方式 2.2.1 在XML文件中编写布局 2.2.2 在Java代码中编写布局 2.3 ...
- Android常见界面布局(详细介绍)
一.View视图 所有的UI元素都是通过View与ViewGroup构建的,对于一个Android应用的用户界面来说,ViewGroup作为容器盛装界面中的控件,它可以包含普通的View控件,也可以包 ...
- 第2章 Android常见界面布局
课后习题 1. 列举Android中的常用布局,并简述他们各自的特点 Android中有五种常用布局,分别为RelativeLayout(相对布局).LinearLayout(线性布局).FrameL ...
- Android的页面布局
1. Android的基础布局 LinearLayout 线性布局 RelativeLayout 相对布局 TableLayout 表格 ...
- (2)Android常见界面布局
文章目录 2.1 View控件 2.2 界面布局编写方式 XML中编写 Java中编写 2.3 界面布局的通用属性 android:id android:layout_width&&a ...
- Android Studio | 页面布局
1.相对布局--RelativeLayout 相对布局是通过相对定位的方式让控件出现在布局任意位置. 如果不指定控件摆放的位置,控件都会被默认放在RelativeLayout的左上角.因此要先指定一个 ...
- android fm页面布局,荔枝FM Android客户端产品体验报告
概览 手机:魅族MX3 操作系统:Flyme OS 3.5.2(A19220) 体验产品:荔枝FM Android客户端 软件版本:V2.0.2 需求分析 目标人群:喜欢听广播.音乐.脱口秀,爱尝试新 ...
- android studio页面布局代码,还在用Android正经布局来写页面吗?
来源:24K纯帅 ConstraintLayout布局出来已经很久了,刚出来那会儿就想尝试一下的,结果半天都没适应,前两天看到一篇ConstraintLayout实战的文章,看完之后发现这布局贼鸡儿好 ...
- android 机顶盒 页面布局,Android机顶盒用户DIY手册.doc
(完美WORD文档DOC格式,可在线免费浏览全文和下载)值得下载! Huawei Technologies Co.,Ltd.Android机顶盒用户DIY手册[键入文档副标题][刘勋][2011-12 ...
最新文章
- CMake结合PCL库学习(1)
- 你知道吗?du 和 df 的统计结果为什么不一样
- 消息摘要算法示例(python和go)
- Java设计模式之观察者Observer模式代码示例
- python 财务报表审计_python 自动化审计
- python处理excel代码_Python实现读写Excel和修改Excel的代码
- 羊皮卷的实践-第二十五章
- 魔方财务对接码支付插件
- 手把手教你最好用的数据分析方法,会用的没几个
- python实训报告pygame_20192418 2019-2020-2 《Python程序设计》实验4报告
- ラブ・ストーリーは突然に(突然發生的愛情故事)歌詞
- Spotfire 表达式之逻辑函数
- 用HTML绘制三线表,CSS制作三线表 | 学步园
- 创作的第一个智能婚恋系统源代码,类似于百合网。
- linux添加多网站,linux添加多个网站-微笑の风
- excel表格打印每页都有表头_【Excel】打印超长表格,怎么才能每页都显示表头?...
- 电脑桌面计算机文件打不开怎么办,教大家电脑桌面上的文件都打不开怎么办
- 时序数据库为什么选 Prometheus
- 那个让你头大的数据结构,用Python学会变简单吗?
- 初学Java(三)——学习准备