- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
视图界面布局
视图界面布局 on android 本章内容 界面布局设计 线性布局 表格布局 帧布局 相对布局 控制视图界面的其他方法 代码控制视图界面 代码和XML联合控制视图界面 多界面的使用 封装数据 数据获取 界面布局设计 ViewGroup类,是View类的子类,可以充当其他组件的容器。 同时布局管理器又作为ViewGroup的子类,在Android中提供了五种,布局可以相互嵌套。 线性布局管理器 表格布局管理器 帧布局管理器 相对布局管理器 绝对布局管理器 界面布局设计-线性布局 LinearLayout 设置组件在垂直或者水平方向排列 线性布局常用属性 界面布局设计-线性布局 界面布局设计-表格布局 TableLayout、TableRow 直接向TableLayout中添加组件,该组件也将直接占用一行 列的宽度由该列中最宽的那个组件决定 通过设置列的属性可以对列进行隐藏、伸展、收缩操作 Collapsed,如果一列被标识为collapsed,则该列将会被隐藏 Shrinkable,如果一列被标识为shrinkable,则该列的宽度可以进行收缩,以使表格能够适应其父容器的大小 Stretchable,如果一列被标识为stretchable,则该列的宽度可以进行拉伸,以使填满表格中空闲的空间 界面布局设计-表格布局 TableLayout继承自LinearLayout类,继承来自父类的属性和方法 特定属性 界面布局设计-表格布局 界面布局设计-帧布局 FrameLayout,也称为框架布局 每个组件对应的一帧都会被对齐到屏幕的左上角,即(0,0)坐标点开始布局 帧布局中没有android:gravity属性; 帧布局中的组件如果没有设置对齐方式,组件会重叠在一起。因此,这些组件需要在属性android:layout_gravity中设置自己在帧布局中的位置。 界面布局设计-帧布局 界面布局设计-相关布局 RelativeLayout 按照组件之间的相对位置来进行布局,是实际布局中最常用的方式之一 属性较多,所以属性之间产生冲突的可能性也较大 界面布局设计-相关布局 描述当前组件与父组件(布局管理器)的相对位置 界面布局设计-相关布局 通过兄弟组件之间的相对位置来进行布局 界面布局设计-相关布局 相对布局中描述四周留白的属性,以像素为单位 界面布局设计-相关布局 在进行相对布局时要注意以下规则 相对布局的子组件必须有唯一的id属性以使规则正确应用 当心循环规则,循环规则发生在两个组件具有互相指向时 保持相对布局规则最小化,能减小出现循环规则的机率并且使得布局更加可维护和灵活 测试布局设计在横屏和竖屏模式下,以及在不同的屏幕大小和解决方案下是不是符合预期 使用相对布局代替嵌套线性布局以改进程序性能和响应能力 界面布局设计-相关布局 界面布局设计-绝对布局 AbsoluteLayout 指定界面元素的坐标位置 自Android 2.0版本开始不再推荐使用 复用XML布局文件 较少代码冗余、提高维护性 include标签 引入布局文件 merge标签 复用另外的布局时,在布局层次中消除多余的布局元素 复用XML布局文件:include include标签 复用XML布局文件:merge merge标签 当在布局文件中复用另外的布局时,merge标签能够在布局层次中消除多余的布局元素,增加UI效率。 控制视图界面的其他方法:代码控制视图界面 类似Java Swing那样完全通过代码控制视图界面 创建布局管理器,设置布局管理器的属性 创建视图组件,设置组件的布局和各种属性 将创建的具体组件添加到布局管理器中 缺点 样式调整复杂、不利于修改、解耦等 控制视图界面的其他方法:代码控制视图界面 过程 控制视图界面的其他方法:代码控制视图界面 布局参数类LayoutParams:权重、在布局中的位置等属性 控制视图界面的其他方法:代码控制视图界面 控制视图界面的其他方法:联合控制视图界面 将变化小、行为固定的组件设置在XML布局文件中 把变化较多、行为控制比较复杂的组件通过Java代码来管理 多界面的使用 界面间传递数据一般使用以下四个步骤 1.创建Intent实例,通常采用如下三种方式: (1)在Intent构造方法中指定当前Activity和需打开的Activity。 Intent intent = new Intent(A.this, B.class); 其中A.class表示当前Activity类,B.class表示需打开的Activity类。 (2)通过Intent的setClass()方法指定当前Activity和需打开的Activity。 Intent intent = new
文档评论(0)