




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
个性名片——界面布局本项目学习任务1.布局管理概述2.线性布局3.约束布局4.表格布局5.帧布局1.布局管理概述布局是Android应用程序的界面定义。布局中的所有界面元素,都是视图(View)对象或视图组(ViewGroup)对象。一个布局首先是一个视图组对象,然后在视图组对象中添加子视图组对象或者视图对象。布局布局管理Layouts可通过两种方式来定义布局:XML定义和代码定义XML定义运用AndroidStudio可以快速设计UI布局及其包含的界面元素代码定义布局是在Java或Kotlin代码中定义布局布局的定义方式布局管理Layouts在每个应用程序创建时会默认包含一个主界面布局,该布局位于res/layout目录中实际开发中每个应用程序都包含多个界面,而程序默认提供的一个主界面布局无法满足需求,因此经常会在程序中添加多个布局。布局的定义方式布局管理Layouts常用布局约束布局通过相对定位排列线性布局以水平或垂直方向排列帧布局帧里的控件(层)叠加表格布局表格形式排列布局的分类布局管理Layouts2.线性布局线性布局(LinearLayout)主要以水平或垂直方式来显示界面中的控件。当控件水平排列时,显示顺序依次为从左到右,当控件垂直排列时,显示顺序依次为从上到下。线性布局中,每行或每列中只允许有一个子视图或控件。线性布局LinearLayout线性布局LinearlayoutLinearLayout的最主要的属性有:android:gravity:设置内部控件的显示位置。android:orientation:设置内部控件的排列方向,常量horizontal(默认值)表示水平排列,vertical表示垂直排列。android:layout_weight:设置内部控件在LinearLayout中所占的权重。线性布局LinearLayout注意:当控件使用权重属性时,布局宽度或高度属性值通常设置为0。<Buttonandroid:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="2"/>线性布局LinearLayout线性布局LinearLayout案例中使用了线性布局LinearLayout,在线性布局中放置了3个按钮,这3个按钮的宽度在水平方向的比重是1:1:2,线性布局界面的效果如上图所示。3.约束布局SuzhouVocationalUniversity约束布局ConstraintLayout是AndroidStudio2.2版本新添加的布局。是Google在2016年的GoogleI/O大会上提出的一个可以灵活控制子控件的位置和大小的新布局。适合使用可视化方式编辑的布局。一个ViewGroup,可以在Api9以上的Android系统使用它。ConstraintLayoutConstraintLayoutisanewlayoutaddedinAndroidStudio2.2.ItisanewlayoutproposedbyGoogleattheGoogleI/OConferencein2016thatcanflexiblycontrolthepositionandsizeofsubcontrols.Alayoutsuitableforvisualediting.AViewGroupcanbeusedinAndroidsystemsaboveApi9.约束布局ConstraintLayoutConstraintLayout可以在不嵌套ViewGroup的情况下实现非常庞大、复杂的布局,实现扁平化。ConstraintLayout具有LinearLayout、相对布局RelativeLayout的优点、特性,功能强大。在适应屏幕大小变化方面更有优势。ConstraintLayoutcanachieveverylargeandcomplexlayoutswithoutnestingViewGroups,andachieveflattening.ConstraintLayouthastheadvantages,featuresandpowerfulfunctionsofLinearLayout.Ithasmoreadvantagesinadaptingtoscreensizechanges.约束布局ConstraintLayoutConstraintLayout减少布局的层级结构,减少布局嵌套过多时出现性能问题。ConstraintLayout,控件之间、控件与父布局之间具有约束关系,控件的位置是按照约束来计算的。使用ConstraintLayou布局时,可以通过添加引线(Guidline)来辅助布局,所有的布局可以在界面上通过拖动和调整来完成,相对于相对布局RelativeLayout这一点要方便许多,可以用“所见即所得”来总结布局,调整更方便。约束布局ConstraintLayout约束布局ConstraintLayout属性名称功能描述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控件的尾部与另外一个控件的尾部对齐约束布局ConstraintLayoutlayout_constraintLeft_toLeftOflayout_constraintEnd_toEndOflayout_constraintBaseline_toBaselineOflayout_constraintRight_toLeftOf控件的右边与另外一个控件的左边对齐控件的左边与另外一个控件的左边对齐控件的尾部与另外一个控件的尾部对齐控件间的文本内容基准线对齐约束布局ConstraintLayoutConstraintLayout布局动态布局方便,对控件的控制能力更加强大,可以实现动画效果。TheConstraintLayoutlayoutisconvenientfordynamiclayout,hasmorepowerfulcontrolovercontrols,andcanachieveanimationeffects.总结:ConstraintLayout的功能更加强大,使用起来更加方便,不论是静态分布还是动态分布都具有良好的支持,同时可以完成动画效果,性能上更加优越。Conclusion:ConstraintLayoutismorepowerfulandconvenienttouse.Bothstaticanddynamicdistributionshavegoodsupport,anditcancompleteanimationeffectswithsuperiorperformance.约束布局ConstraintLayout4.表格布局SuzhouVocationalUniversity表格布局(TableLayout)是以表格形式排列控件的,通过行和列将界面划分为多个单元格,每个单元格都可以添加控件。表格布局需要和TableRow配合使用,每一行都由TableRow对象组成,因此TableRow的数量决定表格的行数。而表格的列数是由包含最多控件的TableRow决定的,例如第1个TableRow有两个控件,第2个TableRow有三个控件,则表格列数为3。表格布局TableLayout表格布局属性布局属性功能描述android:stretchColumns设置该列被拉伸android:shrinkColumns设置该列被收缩android:collapseColumns设置该列被隐藏表格布局控件属性控件属性功能描述android:layout_column设置该单元显示位置android:layout_span设置该单元格占据几列,默认为1列表格布局TableLayout表格布局TableLayout5.帧布局SuzhouVocationalUniversity帧布局是一种特殊的布局,它以层叠的方式显示布局中的多个控件帧布局主要掌握以下两个属性的使用:android:layout_gravityandroid:visibility帧布局FrameLayout默认情况下,控件位于帧布局的左上角。可通过控件的android:layout_gravity属性控制其位置。android:layout_gravity属性可设置为下列值:top:控件位于布局顶部。bottom:控件位于布局底部,单独使用时等价于“left|bottom”。left:控件位于布局左侧。right:控件位于布局右侧,单独使用时等价于“top|right”。center:控件位于布局中心。center_vertical:控件位于垂直方向上的中间位置,单独使用时等价于“left|center_vertical”。center_horizontal:控件位于水平方向上的中间位置,单独使用时等价于“top|center_horizontal”。帧布局FrameLayoutgravity的中文意思就是”重心“,就是表示view横向和纵向的停靠位置android:gravity:是对控件本身来说的,是用来设置控件本身的内容应该显示在控件的什么位置,默认值是左侧,也可以用来设置布局中的控件位置android:layout_gravity:是相对于包含该控件的父控
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人借款合同民间借贷
- 有关房屋出售委托合同年
- 湖北房屋租赁合同
- 租赁房屋合同协议书
- 消防工程专业分包工程合同
- 建筑施工发包合同
- 电器售后服务合同书
- 事业单位聘用合同文本
- 产品购销合同的细节条款修订书
- 重庆水利电力职业技术学院《建筑结构抗震设计实验》2023-2024学年第二学期期末试卷
- 2024年物联网安装调试员(中级工)职业资格鉴定考试题库(含答案)
- 标准化机房改造方案
- 珠海市第三人民医院中医智能临床辅助诊疗系统建设方案
- 早产临床诊断与治疗指南
- 工程签证单完整版
- 《义务教育数学课程标准(2022年版)》初中内容解读
- 全院护理查房(食管裂孔疝)
- 川教版信息技术六年级下册全册教案【新教材】
- 2024-2025学年统编版语文九年级下册第7课《溜索》任务驱动型教学设计
- (国赛)5G组网与运维赛项备考试题库及答案
- 代写文章合同模板
评论
0/150
提交评论