第2章 Android常见界面布局 2.4.2 垂直线性布局.pptx
- 格式:pptx
- 大小:366.89 KB
- 文档页数:3
《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培训之五大布局讲解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中常⽤的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属性以控制各个控件在布局中的相对⼤⼩。
布局:在android中我们常用的布局方式有这么几种:1.LinearLayout (线性布局):(里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角)线性布局分为水平线性和垂直线性二者的属性分别为: android:orientation= " horizontal" android:orientation= "vertical" 。
2.RelativeLayout (相对布局 ): (里面可以放多个控件,但是一行只能放一个控件)附加几类RelativeLayout的属性供大家参考:第一类:属性值为true或falseandroid:layout_centerHrizontal 水平居中android:layout_centerVertical 垂直居中android:layout_centerInparent 相对于父元素完全居中android:layout_alignParentBottom 贴紧父元素的下边缘android:layout_alignParentLeft 贴紧父元素的左边缘android:layout_alignParentRight 贴紧父元素的右边缘android:layout_alignParentTop 贴紧父元素的上边缘android:layout_alignWithParentIfMissing 若找不到兄弟元素以父元素做参照物第二类:属性值必须为id的引用名“@id/id-name”android:layout_below 在某元素的下方android:layout_above 在某元素的上方android:layout_toLeftOf 在某元素的左边android:layout_toRightOf 在某元素的右边android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐第三类:属性值为具体的像素值,如30dip,40pxandroid:layout_marginBottom 离某元素底边缘的距离android:layout_marginLeft 离某元素左边缘的距离android:layout_marginRight 离某元素右边缘的距离android:layout_marginTop 离某元素上边缘的距离3.TableLayout (表格布局 ): (这个要和TableRow配合使用,很像html里面的table)这个表格布局不像HTML中的表格那样灵活,只能通过 TableRow 属性来控制它的行而列的话里面有几个控件就是几列(一般情况)。
第二章 Android基本用户界面2.1常用组件程序员开发的游戏以及应用都是运行在Android系统上的程序,这类应用程序跟用户的接触就是通过界面来完成的。
可见用户界面对于开发者来说是至关重要的一部分,本节我们就来学习用户界面的部分常用基本组件。
Android当中的大部分UI组件都是位于android.view包和android.widget包当中,本节所介绍的常用组件都是位于android.widget包中的。
2.1.1 TextView 文本框TextView直接继承了View类,是用于在界面上显示文本的组件。
它是不允许编辑的,在第一章我们创建的HelloAndroid项目当中,我们在res—>layout—>main.xml文件中就能见到有TextView组件。
实例TextViewa.创建一个名为TestTextView的新项目。
b.打开main.xml布局文件,在代码当中添加如下代码。
本段代码中13-21行是我们所添加的一个TextView第14-15 行:定义了该组件的宽和高第16 行:设置了该文本框显示的文本内容第17 行:设置了文本的字体大小第18 行:设置文本的颜色第19 行:设置了文本是否一行显示,如果选择true,那么文本内容多的情况下会以省略号显示显示不完的内容。
运行出来的结果如下图。
我可以到API当中查阅到TextView这个类的XML Attributes属性,上述实例当中只是简单的列举和使用了部分的属性设置。
如果需要设置更多的属性,我们可以到API当中来查阅。
部分属性介绍,如下表所示。
2.1.2 EditText 编辑框EditText是一个可编辑的文本框,它是TextView的子类,与它父类的区别就在于Android关闭了TextView的文字编辑功能,而EditText允许用户编辑文本框的内容。
实例EditText1.创建一个名为Test EditText的项目。
Android布局讲解我们对Android应用程序运行原理及布局文件可谓有了比较深刻的认识和理解,并且用“Hello World!”程序来实践证明了。
在继续深入A ndroid开发之旅之前,有必要解决前两篇中没有介绍的遗留问题:Vi ew的几种布局显示方法,以后就不会在针对布局方面做过多的介绍。
View的布局显示方式有下面几种:线性布局(Linear Layout)、相对布局(Relative Layout)、表格布局(Table Layout)、网格视图(G rid View)、标签布局(Tab Layout)、列表视图(List View)、绝对布局(AbsoluteLayout)。
本文虽然是介绍View的布局方式,但不仅仅是这样,其中涉及了很多小的知识点,绝对能给你带来Android 大餐!本文的主要内容就是分别介绍以上视图的七种布局显示方式效果及实现,大纲如下:∙1、View布局概述∙2、线性布局(Linear Layout)o 2.1、Tips:android:layout_weight="1"∙3、相对布局(Relative Layout)∙4、表格布局(Table Layout)∙5、列表视图(List View)∙6、网格视图(Grid View)∙7 、绝对布局()∙8、标签布局(Tab Layout)1、view的布局显示概述通过前面的学习我们知道:在一个Android应用程序中,用户界面通过View和ViewGroup对象构建。
Android中有很多种View和View Group,他们都继承自View类。
View对象是Android平台上表示用户界面的基本单元。
View的布局显示方式直接影响用户界面,View的布局方式是指一组V iew元素如何布局,准确的说是一个ViewGroup中包含的一些View怎么样布局。
ViewGroup类是布局(layout)和视图容器(View contai ner)的基类,此类也定义了youtParams类,它作为布局参数的基类,此类告诉父视图其中的子视图想如何显示。
分享五种Android常⽤布局⽅式现在Android⾮常疯狂,所以⽹上关于Android学习的资料如⾬后春笋般冒起来,像这些基础的东西更是多如⽜⽑,我会把⽤过的东西碰到的困难和怎么解决的记录下来,⼀来可以供⾃⼰复习万⼀以后⼜碰到类似的问题就可以直接拿来看下。
⼆来可以给初学者⼀点⼩⼩的帮助。
Android布局是应⽤界⾯开发的重要⼀环,在Android中,共有五种布局⽅式,分别是:FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局)⼀、FrameLayout这个布局可以看成是墙脚堆东西,有⼀个四⽅的矩形的左上⾓墙脚,我们放了第⼀个东西,要再放⼀个,那就在放在原来放的位置的上⾯,这样依次的放,会盖住原来的东西。
这个布局⽐较简单,也只能放⼀点⽐较简单的东西。
⼆、LinearLayout线性布局,这个东西,从外框上可以理解为⼀个div,他⾸先是⼀个⼀个从上往下罗列在屏幕上。
每⼀个LinearLayout⾥⾯⼜可分为垂直布局(android:orientation="vertical")和⽔平布局(android:orientation="horizontal")。
当垂直布局时,每⼀⾏就只有⼀个元素,多个元素依次垂直往下;⽔平布局时,只有⼀⾏,每⼀个元素依次向右排列。
linearLayout中有⼀个重要的属性 android:layout_weight="1",这个weight在垂直布局时,代表⾏距;⽔平的时候代表列宽;weight值越⼤就越⼤。
三、AbsoluteLayout绝对布局犹如div指定了absolute属性,⽤X,Y坐标来指定元素的位置android:layout_x="20px"android:layout_y="12px" 这种布局⽅式也⽐较简单,但是在垂直随便切换时,往往会出问题,⽽且多个元素的时候,计算⽐较⿇烦。
android界面布局详解我们这次深入分析Android应用程序的布局文件,主要内容如下:∙1、用户界面及视图层次∙2、Android中布局定义方法∙3、编写XML布局文件及加载XML资源∙4、常用布局文件中元素的属性∙ 4.1、ID属性∙ 4.2、布局参数∙5、布局位置&大小&补距&边距∙6、又是“Hello World!”∙ 6.1、又是“Hello World!”(一)∙ 6.2、又是“Hello World!”(二)∙ 6.3、又是“Hello World!”(三)1、用户界面及视图层次在通过“Hello World!”介绍Android中的布局问题之前,不得不先介绍一下Android中的用户界面,因为布局问题也是用户界面问题之一。
在一个Android应用程序中,用户界面通过View和ViewGroup对象构建。
Android 中有很多种Views和ViewGroups,他们都继承自View类。
View对象是Android平台上表示用户界面的基本单元。
View类:extends Objectimplements Drawable.Callback KeyEvent.Callback AccessibilityEventSource这个类表示用户界面组件的基本构建块,一个View占据屏幕上的一个矩形区域,并负责绘图和事件处理。
View类是widgets的基类,widgets用于创建交互式UI组件(buttons、text fields等)。
View类的直接子类ViewGroup 类是layouts的基类,layouts是不可见的容器用户保持其他Views或者其他ViewGroups和定义它们的布局属性。
一个View对象是一个数据结构,它的属性存储屏幕上一个特定矩形区域的布局参数和内容。
一个View对象处理它自己的测度、布局、绘图、焦点改变、滚动、键/手势等与屏幕上矩形区域的交互。