第四讲-常见布局方式PPT课件

上传人:人*** 文档编号:567629684 上传时间:2024-07-21 格式:PPT 页数:42 大小:1.48MB
返回 下载 相关 举报
第四讲-常见布局方式PPT课件_第1页
第1页 / 共42页
第四讲-常见布局方式PPT课件_第2页
第2页 / 共42页
第四讲-常见布局方式PPT课件_第3页
第3页 / 共42页
第四讲-常见布局方式PPT课件_第4页
第4页 / 共42页
第四讲-常见布局方式PPT课件_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《第四讲-常见布局方式PPT课件》由会员分享,可在线阅读,更多相关《第四讲-常见布局方式PPT课件(42页珍藏版)》请在金锄头文库上搜索。

1、常见布局方式常见布局方式2021/7/231 1回顾上一节我们学习了以下几个内容:u活动生命周期,活动定义及使用方法u意图的定义及使用u服务生命周期,服务的使用u内容提供者的基本含义2021/7/232 2引入每个活动都有一个界面,手机屏幕的不同,界面布局不同。设计时,该如何考虑界面布局呢?2021/7/233 3本章主要知识View类及ViewGroup类帧布局(FrameLayout)线性布局(LinearLayout)表格布局(TableLayout)相对布局(RelativeLayout)列表布局(ListView)自定义视图事件控制方法2021/7/234 4VIEW类及VIEWGR

2、OUP类View类是屏幕元素的基类。所有界面元素都是其子类。View类的属性如下:属性含义android:background设置背景,可以是drawable,也可以是色彩android:clickable是否响应单击事件android:visible控制View的可见性android:focusable控件View是否可以获取焦点android:idView标识符,可通过findViewById方法获取2021/7/235 5VIEW类及VIEWGROUP类ViewGroup类是View的子类是布局对象的父类布局常以XML的形式出现XML布局文件定义在res/layout文件夹下2021/7

3、/236 6布局类之间的关系如下:子类继承父类属性ViewViewGroupAbsoluteLayoutLinearLayoutRalativeLayoutFrameLayoutTableLayout2021/7/237 7帧布局(FRAMELAYOUT)分层显示,每层一个组件最后放入的组件在顶层默认组件左上角对齐(如右上图)如果想更改组件对齐方式,每个子组件内添加layout_gravity属性(右下图的子组件属性为center)2021/7/238 8 帧布局(FRAMELAYOUT)XML文档结构如下:XML编码的固定格式2021/7/239 9 帧布局(FRAMELAYOUT)XML文

4、档结构如下:帧布局开始2021/7/231010 帧布局(FRAMELAYOUT)XML文档结构如下:XML命名空间2021/7/231111 帧布局(FRAMELAYOUT)XML文档结构如下:定义该布局大小 match_parent与父控件相同wrap_content与内容大小相同可以给定具体的数值,单位最好为dp2021/7/231212 帧布局(FRAMELAYOUT)XML文档结构如下:Android支持的各种组件,在下一章将详细阐述2021/7/231313 帧布局(FRAMELAYOUT)XML文档结构如下:帧布局的结束标记2021/7/231414帧布局(FRAMELAYOUT

5、)新建一个项目在res/layout文件夹中删除原有的布局文件在该文件夹下新建一个andriod XML layout 文件例子2021/7/231515帧布局(FRAMELAYOUT)向布局中拖拽3个文本控件改变文本控件属性,具体代码如右图例子2021/7/231616LinearLayoutLinearLayout(线性布局)(线性布局) l是最常用的布局方式。l以水平或垂直的方式排列子对象。l一个方向只能有一个对象。l可以嵌套:一个线性布局内还可以定义线性布局。LinearLayout LinearLayout 常用属性(布局参数):常用属性(布局参数):landriod:orienta

6、tion:设置排列方向landroid:layout_width:设置宽landroid:layout_height:设置高landroid:layout_weight:设置控件的重要程度。默认为零,根据weight值分配控件暂用屏幕大小。landriod:gravity:设置内部元素的对齐方式等。垂直排列垂直排列填充整个屏幕宽度填充整个屏幕宽度按控件大小填充按控件大小填充线性布局(LINEARLAYOUT)2021/7/231717线性布局(LINEARLAYOUT)例子线性布局嵌套线性布局1嵌套线性布局2垂直布局水平布局此视图占去屏幕的1/(1+3)此按钮占去子布局的2/(2+3)2021

7、/7/231818想一想:如果要想让嵌套的两个线性布局,均分屏幕,应该怎么设置?2021/7/231919表格布局(TABLELAYOUT)以多行多列的方式显示子对象。每一行为一个TableRow 。每一行可以拥有0个或多个的单元格(cell)。每个单元格内是一个View对象。TableLayout 容器不会显示行 、列 或单元格的边框线。列的属性uShrinkable:设置列的宽度是否可收缩,收缩指表格能够适应其父容器的大小。uStretchable:设置列的宽度是否可拉伸,拉伸指可填满表格中空余的空间。uCollapsed:设置列是否被隐藏。2021/7/232020表格布局(TABLEL

8、AYOUT)XML文档格式表格布局行列,每个组件为一列2021/7/232121想一想: 一行里能放多列吗?动手验证: 多列组件,超过屏幕宽度怎么办?超出的还显示吗?实验课上,请你自己实验验证一下2021/7/232222相对布局(RELATIVELAYOUT)相对于其他对象的位置显示子对象,常用于表单中。是设计UI的有力工具,通常用于比较复杂的布局。2021/7/232323相对布局(RELATIVELAYOUT)XML属性如下:属性含义layout_centerHorizontal 取值true时,水平居中layout_centerInParent取值true时,居中显示layout_al

9、ignParentLeft取值true时,水平居左layout_toRightOfid,在id组件的右侧layout_alignTop取值id,上边界与id组件上边界对齐layout_marginBottomint值,单位dp,底端间距2021/7/232424列表布局(LISTVIEW)ListView可以显示多条内容,当内容超出屏幕高度时,可以上下滚动显示ListView也继承View类2021/7/232525列表布局(LISTVIEW)listView要显示数据,数据一般有以下几个来源:自定义的array,需要预先定义array,在listview中使用android:entries=

10、array/xxx“数据库,需要先查询数据库,再操作在类中自定义的数组,直接使用adapter即可2021/7/232626列表布局(LISTVIEW)自定义的array2021/7/232727列表布局(LISTVIEW)要显示数据库和自定义的数组时,一般需要使用适配器(Adapter)。使用listview.setAdapter(ListAdapter)方法来加载数据资源。listView 中常用的适配器有ArrayAdapter,SimpleAdapter和SimpleCursorAdapter等。2021/7/232828列表布局(LISTVIEW)类中自定义数据,在listView中

11、显示2021/7/232929想一想: 在活动中把视图加载的方法是什么呢?setContentView(R.layout.main);setContentView(view);上一个例子使用的是那种方法?为什么?2021/7/233030请课下阅读课本请课下阅读课本P118-135,详细了解,详细了解simpleAdapter的使用的使用2021/7/233131自定义视图自定义视图的三种方法在主Activity中直接重写View类单独定义View类,在主Activity中引用单独定义View类,在布局文件中引用2021/7/233232自定义视图在主Activity中直接重写View类,对V

12、iew类(包含View类的子类)进行实例化即可。例子12021/7/233333自定义视图在主Activity中直接重写View类,对View类(包含View类的子类)进行实例化即可。例子22021/7/233434自定义视图在主Activity中直接重写View类,对View类(包含View类的子类)进行实例化即可。例子32021/7/233535自定义视图单独定义View类,在主Activity中引用public class My2D extends Activity public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(new MyView(this);2021/7/2336362021/7/233737自定义视图单独定义View类,在布局文件中引用。创建项目如下:2021/7/233838自定义视图MyView.java代码如下:2021/7/233939自定义视图布局文件main.xml代码如下:2021/7/234040运行效果2021/7/234141作业:1、简述自定义视图的三种方法及其操作步骤2、如何在一个界面里布局4个按钮要求:4个按钮分为两行、两列,与屏幕上下、水平居中对齐,请写出布局代码2021/7/234242

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号