Android 的界面布局及基本控件
Android组件---四大布局的属性详解

Android组件---四⼤布局的属性详解【声明】欢迎转载,但请保留⽂章原始出处→_→Android常见布局有下⾯⼏种:LinearLayout:线性布局。
所有的控件都是串在⼀条线上的。
RelativeLayout:相对布局。
所有的控件的位置,都是相对于⽗控件的。
FrameLayout:帧布局。
FrameLayout布局中的控件都是⼀层⼀层的。
帧布局每次添加的控件都显⽰在最上⾯,最后显⽰在界⾯上的是最后添加的⼀个控件。
TableLayout:表格布局。
表格布局可以实现的.⼀般可以使⽤线性布局实现。
AbsoluteLayout:绝对布局。
已经是废弃的状态,很少⽤了。
orientation:属性是指定线性布局的排列⽅向。
horizontal ⽔平。
线性布局默认的朝向是⽔平的。
vertical 垂直例如:android:orientation="vertical"gravity:指定当前控件⾥⾯的内容容显⽰位置。
(四⼤layout中均可使⽤)left 左边right 右边top 上边bottom 底边例如:android:gravity="center"gravity中的属性可以组合使⽤。
例如:android:gravity="bottom|right"layout_gravity:指定当前控件在⽗元素的位置。
(只在 LinearLayout 和 FrameLayout 中有效)left 左边right 右边top 上边bottom 底边centercenter_horizontalcenter_vertical例如:android:layout_gravity="center"另外,需要提⽰的是,对于 LinearLayout :当 android:orientation="vertical" 时,只有⽔平⽅向的设置才起作⽤,垂直⽅向的设置不起作⽤。
安卓之布局总结

安卓之布局总结Adroid布局有⼈形象地⽐喻,Android开发中的布局就相当于⼀栋建筑的外观架构。
布局⽤得好,这栋建筑的外观才美观⾼⼤上。
Android布局管理器Android布局管理器本⾝是⼀个界⾯控件,所有的布局管理器都是ViewGroup类的⼦类,都是可以当做容器类来使⽤的。
因此⼀个布局管理器中可以嵌套其他的布局管理器。
这是⾕歌上找的⼀张布局管理器层级图每⼀个ViewGroup都可以嵌套其他的ViewGroup和View(视图)。
⼀个ViewGroup的⼤⼩是相对的,它即可以是其他ViewGroup的⽗容器,也可以是其他ViewGroup的⼦容器。
在Android中,ViewGroup指代的是布局管理器,也就是下⾯要讲的布局样式,View指代的是布局管理器中的⼀个个控件。
在Android中,控件可以在XML⽂件中定义,也可以程序员根据⾃⼰的需要去定义⼀个类。
本⽂重点先不讨论视图中的控件,还是回归到布局。
Android六⼤基本布局管理器分别是:线性布局(LinearLayout)、表格布局(TableLayout)、⽹格布局(GridLayout)、相对布局(RelativeLayout)、绝对布局(AbsoluteLayout)、层布局(FrameLayout)其中,表格布局是线性布局的⼦类。
⽹格布局是android 4.0后新增的布局。
(1)线性布局线性布局会将容器内的所有控件⼀个挨着⼀个地排列。
属性:1. 排列⽅向android:orienation = “ horizontal/vertical”⽔平排列和垂直排列,Android中默认为垂直排列vertical注意:默认情况下⽔平和垂直⽅向的排列只占⼀⾏,如果⽤android:layout_width来设定控件的宽度,如果控件宽度太⼤,超出屏幕的显⽰范围,屏幕是不会显⽰超出的范围的。
2. 对齐⽅式⽤于控制元素(例如⽂字)在该控件⾥的显⽰位置。
第2章 Android基础界面设计-控件

2021/10/19
第2章 Android基础界面设计
19
Button点击事件的处理方式
在XML文件中附加事件处理方法, 在Activity类实现这个事件处理方
即设置onClick属性:
法:
android:onClick="showToast"
public void showToast(View view) { String msg = "Hello Toast!"; Toast.makeText(this, msg, duration)
2021/10/19
ቤተ መጻሕፍቲ ባይዱ功能描述
输入类型设置 textPassword:输入文本框中的内容显示为"." phone:设置输入文本框中的内容只能是数字 设置允许输入哪些字符
设置编辑框内容为空时,显示的提示信息
控件中内容为空时显示的提示文本信息的颜色
设置控件的宽度为N个字符的宽度 监控软键盘的事件,如actionNext表示点击软键盘上的下一项会跳到 该组件 设置文本的最小行数
2021/10/19
功能描述
设置文本内容的位置,可以用"|"指定多个值 设置文本最大长度,超出此长度的文本不显示 设置文本的字符个数 设置文本的行数,超出此行数的文本不显示 设置文本的最大行数,超出此行数的文本不显示。 设置当文本超出TextView规定的范围的显示方式。 在文本的顶部显示图像 设置文本的行间距 设置文本样式,如:bold(粗体)、italic(斜体)、normal(正 常)
2021/10/19
第2章 Android基础界面设计
4
2.3 Android基本控件
https:///guide/topics/ui/look-and-feel/autosizing-textview https:///guide/topics/ui/controls/button
Android界面编程基础一学情分析

(2)表格布局 教师引导,表格布局是让控件以表格的形式来排列组件的,只要将组件或信息放在单元格中,组
件就可以整齐的排列,这是表格布局的特点。 在 TableLayout 中,行数由 TableRow 对象控制,即布局中有多少 TableRow 对象,就有多少行。每
三、教学目标
知识目标:
(1) 掌握 Android 中的三种最基本组件、三种布局 (2) 理解实例中各组件和布局的用法 (3) 掌握界面布局的思路
能力目标:
(1) 初步学会分析界面布局思路,运用所学知识解决问题的方法 (2) 提高学生的动手实践能力,能够开发出简单的图形用户界面 四、教学重点 (1) 基础 View 组件的属性和功能 (2) 三种最常用的布局的功能和优缺点 五、教学难点
层次结构,掌握 view 的子类基础常用界面控件 TextView、Button、EditText 控件。 (3)明确学习目标 让学生认识使用 XML 文件,灵活运用 TextView、Button、EditText 控件。
二、重点知识讲解 (1)老师创建情境,引入 View 组件。 ① 提出问题 Android 界面如何呈现一个界面? ② Android 界面就像一副画,原来是一副空白画板,绘画者在画板上制定的地方做一些处理添加事
⑤ 分析界面组件基础 View 类中 XML 属性和对应 java 方法。 (2)项目驱动教学,学习 TextView、Button、EditText 控件
① 运行本节课要完成的项目“竞赛登陆”项目,分析其中涉及到控件。 ② 老师创建项目,在布局文件中添加文本显示框 TextView,在 xml 文件中设置 TextView 常见属性 帮助学生认识 xml 和理解 TextView 属性。 ③ 讲解 EditText 的子类,分析 android:hint、android:password、android:inputType 属性。 ④ Button 按钮继承与 TextView,分析其作用。 (3)项目完成演示。
Android之界面布局

用户界面基础
用户界面(User Interface,UI)是系统和用户之间 进行信息交换的媒介,实现信息的内部形式与人类 可以接受形式之间的转换
在计算机出现早期,批处理界面(1946-1968)和命令行 界面(1969-1983)得到广泛的使用 目前,流行图像用户界面(Graphical User Interface, GUI),采用图形方式与用户进行交互的界面 未来的用户界面将更多的运用虚拟现实技术,使用户能 够摆脱键盘与鼠标的交互方式,而通过动作、语言,甚 至是脑电波来控制计算机
// 定义布局管理器的指定宽和高 youtParams params = new youtParams( youtParams.FILL_PARENT, youtParams.FILL_PARENT); layout.setOrientation(LinearLayout.VERTICAL);
<Button android:id="@+id/btn1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="gravity测试" android:gravity="right" /> <Button android:id="@+id/btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="layout_gravity测试" android:layout_gravity="right" />
Android常见界面布局线性布局LinearLayout优秀文档

第2章 Android常见界面布局 —第—2章移动An软dr件oid开常发见(界A面nd布ro局id) 第—2—章移动An软dr件oid开常发见(界A面nd布ro局id) 4第—2—线章移性动A布n软局dr件Loind开e常发a见rL(a界Ayo面nud布tro局id)
布局可以分为水平线性布局和 —第—2章移动An软dr件oid开常发见(界A面nd布ro局id)
线第4 性2线章布性局A布n(局drLLoiinndee常aar见rLLaa界yyoo面uut布t)局是以水平或者垂直的方式来显示界面中添加的控件,因此线性布局可以分为水平线性布局和垂直线性布局两 种第—。2—章移动An软dr件oid开常发见(界A面nd布ro局id) 4 线性布局LinearLayout 4第2线章性A布n局drLoinde常a见rLa界yo面u布t 局
第2章 Android常见界面布局
——移动软件开发(Android)
2.4 线性布局LinearLayout
线性布局(LinearLayout)是
4 线性布局LinearLayout
以水平或者垂直的方式来显示 —4 —线移性动布软局件Lin开e发arL(aAyonudtroid)
4第2线章性A布n局drLoinde常a见rLa界yo面u布t 局 第—2—章移动An软dr件oid开常发见(界A面nd布ro局id) 第4 2线章性A布n局drLoinde常a见rLa界yo面u布t 局
垂直线性布局两种。下面我们 第2章 Android常见界面布局
第线2性章布局An(drLoiinde常ar见La界yo面ut布)局是以水平或者垂直的方式来显示界面中添加的控件,因此线性布局可以分为水平线性布局和垂直线性布局两 种。
Android开发自学笔记(AndroidStudio)—4.1布局组件

Android开发⾃学笔记(AndroidStudio)—4.1布局组件⼀、引⾔Android的界⾯是有布局和组件协同完成的,布局好⽐是建筑⾥的框架,⽽组件则相当于建筑⾥的砖⽡。
组件按照布局的要求依次排列,就组成了⽤户所看见的界⾯。
在Android4.0之前,我们通常说Android开发五⼤布局和四⼤组件,这五⼤布局就是:1. LinearLayout 线性布局2. FrameLayout 单帧布局,也有中⽂翻译为帧布局、框架布局。
3. RelativeLayout 相对布局4. AbsoluteLayout 绝对布局5. TableLayout 表格布局⽽在Android4.0之后⼜新增了⼀种GridLayout⽹格布局。
⼆、LinearLayout线性布局线性布局是Android开发中最常见的⼀种布局⽅式,它是按照垂直或者⽔平⽅向来布局,通过“android:orientation”属性可以设置线性布局的⽅向。
属性值有垂直(vertical)和⽔平(horizontal)两种。
线性布局的排列在某⾏或者某列并不会⾃动换⾏或换列,就是说如果采⽤⽔平布局,控件宽度超过屏幕显⽰的话,后⾯的控件都将被隐藏,不会⾃动换⾏。
常⽤的属性有:1. android:orientation:可以设置布局的⽅向2. android:id - 为控件指定相应的ID3. android:text - 指定控件当中显⽰的⽂字,需要注意的是,这⾥尽量使⽤string.xml4. android:gravity - 指定控件的基本位置,⽐如说居中,居右等位置5. android:textSize - 指定控件当中字体的⼤⼩6. android:background - 指定控件所⽤的背景⾊,RGB命名法7. android:layout_width - 指定控件的宽度8. android:layout_height - 指定控件的⾼度9. android:layout_weight - 指定控件的占⽤⽐例10. android:padding - 指定控件的内边距,也就是说控件当中的内容11. android:sigleLine - 如果设置为真的话,则将控件的内容显⽰在⼀⾏当中layout_weight属性以控制各个控件在布局中的相对⼤⼩。
第2章 Android基础界面设计-布局

案例:D0201_Layout/activity_login
2021/10/19
第2章 Android基础界面设计
2021/10/19
第2章 Android基础界面设计
16
2.2 Android基本布局
https:///guide/topics/ui/declaring-layout?hl=zh-cn
内容大纲
LinearLayout:线性布局,子View水平或垂直方向进行排列 FrameLayout:帧布局,子View以左上角为起点堆叠在一起 RelativeLayout:相对布局,子View之间的相对定位进行排列 GridLayout:网格布局,子View以行、列方式进行排列 ConstraintLayout:约束布局,约束方式连接子View布局(第4章)
• 针对控件内的元素,用来控制元素在该控件里的显示位置 • android:gravity="left"和android:text="提交",这时Button上的文字"提交"将会位于Button
的左部 • layout_width或layout_height值需设为match_parent才有效
➢ layout_gravity
2021/10/19
第2章 Android基础界面设计
7
ViewGroup
ViewGroup提供了对其子View的管理功能,包括布局、动画等。子 组件可以是View、也可以是ViewGroup。
2021/10/19
第2章 Android基础界面设计
8
பைடு நூலகம்
2.1 Android布局文件
layout的含义
案例:D0201_Layout/activity_linearlayout_b.xml、 activity_linearlayout_r.xml
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用XML资源文件创建布局
流式布局元素标签
用于指定流式布局的方向:分 别为vertical和horizontal
用于指定元素的水平宽度,有 三种取值:fill_parent表示当前
View是Android控件的一个基类,一个View就是屏幕上的一个矩形区域, 主要负责绘制元素和事件处理。View提供了许多用于界面显示的子类,例 如按钮类Button、文本显示区域TextView类、EditText类等 。我们往往利用 View类的这些子类去绘制界面元素。View类的详细说明如下图所示:
流式布局LinearLayout
LinearLayout是线性布局控件,它包含的子控件将以横向或竖 向的方式排列,按照相对位置来排列所有的组件或者其他的容器, 超过边界时,某些组件将缺失或消失。因此一个垂直列表的每一 行只会有一个组件或者是容器,而不管他们有多宽,而一个水平 列表将会只有一个行高(高度为最高子控件的高度加上边框高 度)。 LinearLayout有两个重要的属性:
帧式布局FrameLayout
帧式布局FrameLayout:在Android的五大布局中是最简 单的布局方式,在需要布局中的控件有重叠的情况下才使 用。 在它上面可以添加多个组件,所有组件都被固定在 界面的左上角,叠加显示,后一个组件会在前一个组件之 上显示 ,也就是说后一个组件会全部或部分的覆盖前一 个组件。
该属性用于指定R.java中的某 个特定资源ID
该属性用于指定元素内文字的大小
View及ViewGroup简介
我们知道Activity是Android应用程序基本的功能单元,Android的每一个 窗口都是一个Activity。但是Activity并不能真正的显示出来,我们要显示界 面信息,需要在Activity中通过调用方法setContentView(View view)来实现, 也就是说真正显示出来的是View。
View及ViewGroup简介
ViewGroup是View的子类,它并不会直接显示出来,而是负责管理和容 纳下一层的View和ViewGroup,即它是容纳其他元素的容器。在ViewGroup 中定义了嵌套类youtParams,这个类定义了显示对象时的属性, View通过LayoutParams告诉父窗体它的摆放位置。ViewGroup是一个抽象类, 所以真正充当窗口角色的是它的子类们,例如LinearLayout流式布局、 RelativeLayout相对布局、TableLayout表格布局等这些布局管理 器,ViewGroup类的详细说明如下:
注意:FrameLayout中的控件layout_margin设置要依赖 layout_gravity属性,否则layout_margin设置无效。 layout_gravity有好几个值可以设置,具体要设置哪一个呢? 其实layout_gravity可以理解为设置控件的参考点,控件最 终显示位置最终由layout_gravity和layout_margin共同决定。 如果想要控件正常显示,可以将控件的layout_gravity设置 为top,以屏幕左上角为参考点。
ANDROID 的界面布局的UI布局 ➢View和ViewGroup简介 ➢Android界面布局 ➢帧式布局FrameLayout ➢线性布局LinearLayout ➢文本显示控件:TextView ➢输入文本框:EditText ➢按钮:Button ➢应用实例:简单的拨号程序界面
元素宽度由父元素的宽度决定,
即会填充父元素。该值由 Android2.2 开始由 match_parent取代。 wrap_content:表示当前元素的 宽度由元素本身的内容决定
该属性用于指定元素的垂直高度,取值 和Android:layout_width取值相同
该属性用于指定元素上要显示的信息
该属性用于指定元素内容为空时的显示 文本
本章小结
➢视图View概述 ➢Android界面布局 ➢帧式布局:FrameLayout ➢线性布局LinearLayout ➢文本显示控件:TextView ➢输入文本框:EditText ➢按钮:Button ➢应用实例:简单计算器
➢android:orientation:该属性设置该布局的线性方向(横向 horizontal/竖向vertical)。
➢android:layout_weight:设置控件占屏幕的比例,在垂直布局时, 代表行距;水平布局时代表列宽,weight值越大就表示所占比例 越大。
➢Android:background:该属性用于设置元素的背景颜色,其中颜 色值前两位表示透明度,“00”为透明,“ff”表示不透明
➢android:orientation:该属性设置该布局的线性方向(横向 horizontal/竖向vertical)。
➢android:layout_weight:设置控件占屏幕的比例,在垂直布局时, 代表行距;水平布局时代表列宽,weight值越大就表示所占比例 越大。
➢Android:background:该属性用于设置元素的背景颜色,其中颜 色值前两位表示透明度,“00”为透明,“ff”表示不透明
帧式布局FrameLayout实例
帧式布局FrameLayout运行效果
android:gravity:属性是对该view中内容的限定.比如一个button 上面的text. 你可以设置该text 相对于view的靠左,靠右等位置. android:layout_gravity:是用来设置该view相对与父view 的位 置.比如一个button 在linearlayout里,你想把该button放在 linearlayout里靠左、靠右等位置就可以通过该属性设置. android:layout_marginLeft:是设置整个布局离左边的距离
Android的UI布局
Android的UI布局可以通过两种方式来实现:
➢通过代码实现用户界面布局:这种方式类似于Java中的 Swing组件布局,实现起来相当复杂。
➢通过XML资源文件创建布局:这种类似我们通过HTML 设计页面,实现起来比较简单
通过XML文件我们可以定义窗口控件之间的关系,以 及窗口控件(Widget)和容器之间的关系,Android系统 把布局文件作为一种资源,存储在项目的res/layout目录 下。
流式布局LinearLayout案例
流式布局LinearLayout
LinearLayout是线性布局控件,它包含的子控件将以横向或竖 向的方式排列,按照相对位置来排列所有的组件或者其他的容器, 超过边界时,某些组件将缺失或消失。因此一个垂直列表的每一 行只会有一个组件或者是容器,而不管他们有多宽,而一个水平 列表将会只有一个行高(高度为最高子控件的高度加上边框高 度)。 LinearLayout有两个重要的属性: