第2章 Android常见界面布局 2.4.2 垂直线性布局.pptx
02Android布局

<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity:相对于父View的位置
android:gravity="bottom|right"//文字显示在控件的右下角
线性布局(LinearLayout)
这种布局比较常用,也比较简单,就是每个元素占一行,当然也可能声明为横向排放,也就是每个元素占一列。
android:layout_gravity="center"//在父布局中居中显示
android:gravity="center";//文字居中显示在TextView控件中
android:text="TextView01" />
<TextView
android:id="@+id/textView4"
Android:textDirection
关联方法:setTextDirection(int)
属性说明:设置文本显示的方向
android:visibility
关联方法:setVisibility(int)
属性说明:View的可见性。visible:可见,默认invisible:不可见,仍占据空间gone:不可见,不占空间
Android应用开发实践教程 第2章 用户界面设计

06 2.6 项目实战:“移动商城”(一) 07 2.7 相关阅读:ButterKnife 的使用 08 2.8 本章小结
本章导读
本章主要对 Android 前台手机界面布局方法以 及常用组件进行阐述。主要知识点有: (1)视图组件和容器组件; (2)控制UI界面的三种方式;
本章导读
(3)基本 UI 组件(包括 TextView、EditText、Button、 ImageView、ProgressBar、ScrollView、Toast、布局管理器 等); (4)高级 UI 组件(包括列表类组件、对话框、菜单、标签 栏等); (5)Handler 消息传递机制。
03 2.3 基本 UI 组件
2.3.3 ProgressBar、ScrollView、Toast(消息提示)
ProgressBar 是 UI 控件中用于显示某个时刻操作完成的进 度控件。该控件应随时间、操作完成度而实时的变化,从 而达到提醒用户任务进度的目的。 ProgressBar 类声明如下: public class ProgressBar extends View
03 2.3 基本 UI 组件
2.3.3 ProgressBar、ScrollView、Toast(消息提示)
Toast 类声明如下: public class Toast extends Object Toast可以通过 makeText() 方法创建Toast对象并设置相关 属性,并调用 show() 方法显示提示。例如以下: Toast.makeText(MainActivity.this, "提示的内容", Toast.LENGTH_LONG).show();
04 2.4 高级 UI 组件
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界面Layout介绍ppt课件

03界面Layout介绍
• 资源文件的管理 • Layout XML • LinearLayout • RelativeLayout • TableLayout • FrameLayout • AbsoluteLayout • 自定义Layout • Android 切换多个layout界面
写代码文件的时候,需要用到。)
–
android:layout_width="@string/btnWidth"
–
android:layout_height="@string/btnHeigh"
–
android:gravity="center" >
– </Button>
保存Strings.xml文件。Eclipse插件将自动在你的工程中生成R.java文件,并含有适当的 资源ID,以供编译之后使用程序访问这些资源。如果你定位到/gen/目录下的R.java文件, 你可以看到:(所有的资源文件,都在R.java里面有对应)
1. FrameLayout:里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上 角。
2. LinearLayout:里面可以放多个控件,但是一行只能放一个控件。 3. TableLayout:这个要和TableRow配合使用,很像html里面的table。 4. RelativeLayout:里面可以放多个控件,不过控件的位置都是相对位置。 5. AbsoluteLayout:里面可以放多个控件,并且可以自己定义控件的x,y的位置。
上面的两个样式中,都有一个parent属性。这就不难理解style是可以继承的。在这里我 们继承的是系统默认的EditText属性,只修改了背景和文字颜色而已。那系统的EditText样式 是在哪定义的呢?找了一番终于也找到了,所有系统控件的样式是在一个style.xml文件中, 这个文件也在上面说的那个目录下。里面我们可以找到Widget.EditText的样式定义。有了它 我们也可以查看某一种控件可以更改哪些样式了。
《Android应用开发》课程标准1

《Android应用开发》课程标准一、课程的性质与目标《Android应用开发》是面向计算机相关专业的一门专业课,涉及Android 基础知识、常见界面布局与控件、数据存储、四大组件、事件处理、网络编程、图形图像处理、多媒体应用等。
通过本课程的学习,学生能够掌握Android基础知识,学会编写简单的应用程序与教材中第6、12、15章的阶段案例。
二、教学条件要求操作系统:Windows 7开发工具:Android Studio 3.2+模拟器、JDK8三、课程的主要内容及基本要求第1章Android基础入门第2章Android常见界面布局第3章Android常见界面控件第4章程序活动单元Activity第5章数据存储第6章阶段案例——记事本第7章使用内容提供者共享数据第8章广播机制第9章服务第10章Android事件处理第11章网络编程第12章阶段案例——智能聊天机器人第13章图形图像处理14章多媒体应用开发第第15章综合项目——网上订餐四、学时分配五、考核模式与成绩评定办法本课程建议教学中主要提取一些具代表性的生产性问题,采用项目教学、案例教学为主,教师在每个案例教学中先提纲挈领的阐明一些新技术手段和语法表达形式,之后学生分组,以 3 - 5 人为宜,每组注意实践操作能力强弱的搭配,完成后抽取具代表性的作品公开集中评价,所有学生共同参与,同步提高。
结合案例教学的特点,对学生的考核采用平时情况结合期末总评情况综合评价。
学生在每次项目完成后,每组学生在项目组内自评,教师给每组一个总评,将学生自评成绩和教师总评成绩按比例结合为一次项目的成绩。
多次项目成绩组成了学生此课程的平时实践操作部分的成绩。
另外学生在每部分学习后完成的其它任务(如课后作业),此又作为学生平时成绩的一部分。
在期末课程结束后,按实际情况可布置每个学生独立完成一个较综合的项目实践,以此作为期末考核成绩;考虑到部分学生非独立完成的作弊行为,亦可组织学生统一卷面考试,以此成绩作为期末考核成绩。
精品课件-Android实战基础-第二章

西安电子科技大学出版社
XIDIAN UNIVERSITY PRESS
二、布局
TableLayout 的 子 类 不 能 指 定 宽 度 属 性 , 宽 度 总 是 match_ parent。而layout_height属性可以通过它的子控件来 设置,默认值是wrap_content。如果子控件是个TableRow,那 么它的高度总是wrap_content。源自图2.1西安电子科技大学出版社
XIDIAN UNIVERSITY PRESS
二、布局
2.2 相对布局
RelativeLayout 称 为 相 对 布 局 , 可 以 通 过 相 对 的 定位方式让控件出现在布局的任何位置。
RelativeLayout的属性: Android:ignoregravity : 设 置 哪 个 组 件 不 受 gravity属性的影响。
西安电子科技大学出版社
XIDIAN UNIVERSITY PRESS
二、布局
LinearLayout属性如下: android:orientation : 定 义 布 局 的 方 向 — — 水 平 或 垂直。 android:layout_weight : 子 元 素 对 未 占 用 空 间 【 水 平或垂直】分配权重值,其值越小,权重越大。 android:layout_width:宽度(fill_parent: 父元素 决定,wrap_content: 本身的内容决定)。 android:layout_height:高度(直接指定一个 px 值 )。
Android培训之五大布局讲解

Android培训之五大布局讲解Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。
组件按照布局的要求依次排列,就组成了用户所看见的界面。
Android的五大布局分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局)。
LinearLayout:LinearLayout按照垂直或者水平的顺序依次排列子元素,每一个子元素都位于前一个元素之后。
如果是垂直排列,那么将是一个N行单列的结构,每一行只会有一个元素,而不论这个元素的宽度为多少;如果是水平排列,那么将是一个单行N列的结构。
如果搭建两行两列的结构,通常的方式是先垂直排列两个元素,每一个元素里再包含一个LinearLayout进行水平排列。
LinearLayout中的子元素属性android:layout_weight生效,它用于描述该子元素在剩余空间中占有的大小比例。
加入一行只有一个文本框,那么它的默认值就为0,如果一行中有两个等长的文本框,那么他们的android:layout_weight值可以是同为1。
如果一行中有两个不等长的文本框,那么他们的android:layout_weight值分别为1和2,那么第一个文本框将占据剩余空间的三分之二,第二个文本框将占据剩余空间中的三分之一。
FrameLayout:FrameLayout是五大布局中最简单的一个布局,在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡。
显示效果如下,第一个TextView被第二个TextView完全遮挡,第三个TextView遮挡了第二个TextView的部分位置。
Android五大布局方式详解

Android五⼤布局⽅式详解Android中常⽤的5⼤布局⽅式有以下⼏种:线性布局(LinearLayout):按照垂直或者⽔平⽅向布局的组件。
帧布局(FrameLayout):组件从屏幕左上⽅布局组件。
表格布局(TableLayout):按照⾏列⽅式布局组件。
相对布局(RelativeLayout):相对其它组件的布局⽅式。
绝对布局(AbsoluteLayout):按照绝对坐标来布局组件。
1. 线性布局线性布局是Android开发中最常见的⼀种布局⽅式,它是按照垂直或者⽔平⽅向来布局,通过“android:orientation”属性可以设置线性布局的⽅向。
属性值有垂直(vertical)和⽔平(horizontal)两种。
常⽤的属性:android:orientation:可以设置布局的⽅向android:gravity:⽤来控制组件的对齐⽅式layout_weight:控制各个组件在布局中的相对⼤⼩第⼀个实例①效果图:②核⼼代码如下:main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="vertical"><EditTextandroid:layout_width="fill_parent"android:layout_height="wrap_content"/></LinearLayout><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:orientation="horizontal"android:gravity="right"><!-- android:gravity="right"表⽰Button组件向右对齐 --><Buttonandroid:layout_height="wrap_content"android:layout_width="wrap_content"android:text="确定"/><Buttonandroid:layout_height="wrap_content"android:layout_width="wrap_content"android:text="取消"/></LinearLayout></LinearLayout>第⼆个实例①效果图:②核⼼代码:mian.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:orientation="vertical" android:layout_width="fill_parent"android:layout_height="fill_parent"><LinearLayoutandroid:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_weight="1"><TextViewandroid:text="red"android:gravity="center_horizontal"android:background="#aa0000"android:layout_width="wrap_content"android:layout_height="fill_parent"android:layout_weight="1"/><!--android:gravity="center_horizontal"⽔平居中 --><!--layout_weight属性以控制各个控件在布局中的相对⼤⼩。