第2章Android常见界面布局chapter02_第1页
第2章Android常见界面布局chapter02_第2页
第2章Android常见界面布局chapter02_第3页
第2章Android常见界面布局chapter02_第4页
第2章Android常见界面布局chapter02_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章Android常见界面布局2

·2.1布局的创建·2.2布局类型3约束布局重点了解掌握2View视图界面布局的编写方式

布局的使用学会搭建常用布局1学习目标2.1布局的创建主讲内容Speechcontent主讲内容View视图所有的UI元素都是通过View与ViewGroup构建的,对于一个Android应用的用户界面来说,ViewGroup作为容器盛装界面中的控件,它可以包含普通的View控件,也可以包含ViewGroup。2.1布局的创建View视图Actvity与View直接的关系2.1布局的创建2.2.1LinearLayout线性布局主讲内容Speechcontent主讲内容2.2布局类型2.2.2RelativeLayout相对布局2.2.3TableLayout表格布局2.2.4FrameLayout帧布局2.2.5ConstraintLayout布局界面布局编写方式界面布局编写方式在XML文件中编写布局:推荐此种方式布局有效的将界面中布局的代码和Java代码隔离,使程序的结构更加清晰。在Java代码中编写布局在Android中所有布局和控件的对象都可以通过new关键字创建出来,将创建的View控件添加到ViewGroup布局中,从而实现View控件在布局界面中显示。2.2.1LinearLayout线性布局在XML文件中编写布局<?xmlversion="1.0"encoding="utf-8"?><RelativeLayoutxmlns:android="http://schemas.androi /apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="使用XML布局文件控制UI界面"android:textColor="#ff0000"android:textSize="18sp"android:layout_centerInParent="true"/></RelativeLayout>相对布局继承自ViewGroupTextView控件继承自View2.2.1LinearLayout线性布局设置文字的样式在Java代码中编写布局RelativeLayoutrelativeLayout=newRelativeLayout(this);RelativeLayout.LayoutParamsparams=newRelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);//addRule参数对应RelativeLayoutXML布局的属性params.addRule(RelativeLayout.CENTER_IN_PARENT);//设置居中显示TextViewtextView=newTextView(this);//创建TextView控件textView.setText("Java代码实现界面布局");//设置TextView的文字内容textView.setTextColor(Color.RED);//设置TextView的文字颜色textView.setTextSize(18);//设置TextView的文字大小//添加TextView对象和TextView的布局属性relativeLayout.addView(textView,params);setContentView(relativeLayout);//设置在Activity中显示RelativeLayout2.2.1LinearLayout线性布局五种常用布局线性布局相对布局帧布局表格布局约束布局特点:以水平或垂直方向排列特点:通过相对定位排列特点:开辟空白区域,帧里的控件(层)叠加特点:表格形式排列特点:可视化的方式编写布局2.2.1LinearLayout线性布局布局的通用属性Android系统提供的五种常用布局直接或者间接继承自ViewGroup,因此它们也支持在ViewGroup中定义的属性,这些属性可以看作是布局的通用属性。2.2.1LinearLayout线性布局属性名称功能描述android:id设置布局的标识android:layout_width设置布局的宽度android:layout_height设置布局的宽度android:background设置布局的背景android:layout_margin设置当前布局与屏幕边界或与周围控件的距离android:padding设置当前布局与该布局中控件的距离Padding、margin2.2.1LinearLayout线性布局多学一招:Android支持的尺寸单位2.2.1LinearLayout线性布局尺寸单位px(pixels,像素):每个px对应屏幕上的一个点。dp(Density-independentPixels,设备独立像素):是一种与屏幕密度无关的尺寸单位。sp(scaledpixels,比例像素):主要处理字体的大小,可以根据用户字体大小首选项进行缩放。in(inches,英寸):标准长度单位。pt(points,磅):屏幕物理长度单位,1磅为1/72英寸。mm(Millimeters,毫米):屏幕物理长度单位。相对布局相对布局(RelativeLayout)是通过相对定位的方式指定子控件位置,即以其它控件或父容器为参照物,摆放控件位置。定义格式2.2.2RelativeLayout相对布局<RelativeLayoutxmlns:android="/apk/res/android"

属性="属性值" ......></RelativeLayout>控件属性功能描述android:layout_centerInParent设置当前控件位于父布局的中央位置android:layout_centerVertical设置当前控件位于父布局的垂直居中位置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设置当前控件的右边界与某控件的右边界对齐2.2.2相对布局—控件位置属性相对布局<RelativeLayoutxmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent">……..</RelativeLayout>2.2.2RelativeLayout相对布局表格布局采用行、列的形式来管理控件,它不需要明确声明包含多少行、多少列,而是通过在TableLayout布局中添加TableRow布局来控制表格的行数,通过在TableRow布局中添加控件来控制表格的列数。2.2.3TableLayout表格布局<TableLayoutxmlns:android="/apk/res/android"

属性=”属性值”><TableRow> UI控件

</TableRow>......</TableLayout>表格布局属性布局属性功能描述android:stretchColumns设置该列被拉伸android:shrinkColumns设置该列被收缩android:collapseColumns设置该列被隐藏表格布局控件属性控件属性功能描述android:layout_column设置该单元显示位置android:layout_span设置该单元格占据几列,默认为1列2.2.3TableLayout表格布局<TableLayoutxmlns:android="/apk/res/android"android:layout_width="wrap_content"android:layout_height="wrap_content"android:stretchColumns="2"><TableRow><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_column="0"android:text="按钮1"/> ......</TableRow></TableLayout>第3列可被拉伸设置控件所在列2.2.3TableLayout表格布局帧布局帧布局(FrameLayout)用于在屏幕上创建一块空白区域,添加到该区域中的每个子控件占一帧,这些帧会一个一个叠加在一起,后加入的控件会叠加在上一个控件上层所有控件都默认显示在屏幕左上角。定义格式2.2.4FrameLayout帧布局<FrameLayoutxmlns:android="/apk/res/android"

属性="属性值"></FrameLayout><FrameLayoutxmlns:android="/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:foreground="@mipmap/ic_launcher"android:foregroundGravity="left"></FrameLayout>设置帧布局容器的前景图像(始终在所有子控件之上)设置前景图像显示位置2.2.4FrameLayout帧布局约束布局ConstraintLayout是AndroidStudio2.2新添加的布局。它适合使用可视化的方式编写界面布局——当然,可视化操作的背后仍然是使用XML代码实现的,只不过这些代码是AndroidStudio根据我们的操作自动生成的。相对定位居中定位和倾向Chain2.2.5ConstraintLayout约束布局相对定位相对定位是在ConstraintLayout中创建布局的基本构建方法之一。相对定位即一个控件相对于另一个控件进行定位。ConstraintLayout布局中的控件可以在横向和纵向上以添加约束关系的方式进行相对定位,其中,横向边包括Left、Start、Right、End,纵向边包括Top、Bottom、Baseline(文本底部的基准线)。2.2.5ConstraintLayout约束布局属性名称功能描述layout_constraintLeft_toLeftOf控件的左边与另外一个控件的左边对齐layout_constraintLeft_toRightOf控件的左边与另外一个控件的右边对齐layout_constraintRight_toLeftOf控件的右边与另外一个控件的左边对齐layout_constraintRight_toRightOf控件的右边与另外一个控件的右边对齐layout_constraintTop_toTopOf控件的上边与另外一个控件的上边对齐layout_constraintTop_toBottomOf控件的上边与另外一个控件的底部对齐layout_constraintBaseline_toBaselineOf控件间的文本内容基准线对齐layout_constraintStart_toEndOf控件的起始边与另外一个控件的尾部对齐layout_constraintStart_toStartOf控件的起始边与另外一个控件的起始边对齐layout_constraintEnd_toStartOf控件的尾部与另外一个控件的起始边对齐layout_constraintEnd_toEndOf控件的尾部与另外一个控件的尾部对齐2.2.5约束布局—相对定位关系的属性居中定位和倾向在ConstraintLayout布局中,控件可以通过添加约束的方式确定该控件在父布局(ConstraintLayout)中的相对位置。当相同方向上(横向或纵向),控件两边同时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论