03-Android用户界面布局

上传人:沈*** 文档编号:244103215 上传时间:2024-10-02 格式:PPT 页数:36 大小:1.70MB
返回 下载 相关 举报
03-Android用户界面布局_第1页
第1页 / 共36页
03-Android用户界面布局_第2页
第2页 / 共36页
03-Android用户界面布局_第3页
第3页 / 共36页
点击查看更多>>
资源描述
HTML,网页制作从入门到精通,单击鼠标编辑大纲正文格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,*,*,单击鼠标编辑标题文的格式,单击鼠标编辑大纲正文格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,*,*,*,单击鼠标编辑标题文的格式,*,*,*,单击鼠标编辑大纲正文格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,单击鼠标编辑标题文的格式,单击鼠标编辑大纲正文格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,*,*,*,单击鼠标编辑标题文的格式,单击鼠标编辑大纲正文格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,*,*,*,单击鼠标编辑标题文的格式,*,*,*,单击鼠标编辑大纲正文格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,单击鼠标编辑标题文的格式,单击鼠标编辑大纲正文格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,*,*,*,单击鼠标编辑标题文的格式,*,*,*,单击鼠标编辑大纲正文格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,单击鼠标编辑标题文的格式,单击鼠标编辑大纲正文格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,*,*,*,单击鼠标编辑标题文的格式,*,*,*,单击鼠标编辑大纲正文格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,单击鼠标编辑标题文的格式,单击鼠标编辑大纲正文格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,*,*,*,单击鼠标编辑标题文的格式,单击鼠标编辑大纲正文格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,*,*,*,单击鼠标编辑标题文的格式,*,*,*,单击鼠标编辑大纲正文格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,单击鼠标编辑标题文的格式,单击鼠标编辑大纲正文格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,*,*,*,单击鼠标编辑标题文的格式,*,*,*,单击鼠标编辑大纲正文格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,WE ARE CHANGING,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,*,*,第,2,章,Android,用户界面,-3,本章学习目标,掌握各种界面布局的特点和使用方法,2.4,界面布局,布局管理器,为了更好地管理,android,应用的用户界面里的各种控件,,android,提供了布局管理器,通过使用布局管理器,,android,应用的图形用户界面具有良好的平台无关性。,不同手机屏幕的分辨率、尺寸并不完全相同,如果让程序手动控制每个控件的大小和位置,会给编程带来很大困难。为了让各种控件在不同的手机屏幕上都能运行良好,使用布局管理器,可以根据运行平台来调整控件的大小,程序员要做的,就是选择合适的布局管理器。,界面布局,使用,XML,文件声明界面布局的特点,将程序的表现层和控制层分离,在后期修改用户界面时,无需更改程序的源代码,用户还能够通过可视化工具直接看到所设计的用户界面,有利于加快界面设计的过程,并且为界面设计与开发带来极大的便利性,2.4,界面布局,线性布局,线性布局是最简单,,Android,开发者使用得最多的布局类型之一,开发者用它来组织用户界面上的控件。线性布局的作用就像它的名字一样:它将控件组织在一个垂直或水平的形式。,在线性布局中,所有的子元素都按照垂直或水平的顺序在界面上排列,如果垂直排列,则每行仅包含一个界面元素,如果水平排列,则每列仅包含一个界面元素,2.4.1,线性布局,线性布局的重要特性和属性,1,)方向属性(必须),取值可以是,vertical,或,horizontal,(类,LinearLayout,),2,)对齐属性(可选),控制子控件在线性布局中如何排列和显示(,LinearLayout,),3,),layout_weight,属性(可选,应用到每个子控件)指定每个子控件在父级线性布局中的相对重要性(类:,LinearLayout.LayoutParams,),此外,通用的,ViewGroup,-style,属性也应用到线性布局。这些属性包括:,通用布局参数如,layout_height,(,必须,),和,layout_width,(,必须,)(,类:,ViewGroup.LayoutParams,),边距布局参数如,margin_top,,,margin_left,,,margin_right,和,margin_bottom,(,类:,ViewGroup,.,MarginLayoutParams,),。,2.4.1,线性布局,LinearLayout,常用属性及对应方法,2.4.1,线性布局,提示:在线性布局中垂直分布时占一列,水平分布时占一行。特别要注意的是,水平,或垂直分布时如果超过一行,则不会自动换行或换列,超出屏幕的子控件将不会被显示,,除非将其放到,ScrollView,中。,gravity,可取的属性及说明,2.4.1,线性布局,给子控件赋权,(,layout_weight,),其它线性布局属性不同,其它属性应用在线性布局视图本身,而,layout_weight,属性是应用在它的子控件上的。权值本身应该是一个数字(比如,0.5,,,0.25,,,0.10,,,0.10,,,0.05,),如果你把所有子控件的权值加起来等于,1,(,100%,)。子控件的权值控件它在父线性布局中有多“重要”或者留给其多少“空间”。,2.4.1,线性布局,线性布局,2.4.1,线性布局,线性布局,2.4.1,线性布局,框架布局,框架布局(,FrameLayout,)是最简单的界面布局,是用来存放一个元素的空白空间,且子元素的位置是不能够指定的,只能够放置在空白空间的左上角。如果有多个子元素,后放置的子元素将遮挡先放置的子元素。,2.4.2,框架布局,框架布局,2.4.2,框架布局,表格布局,表格布局(,TableLayout,)也是一种常用的界面布局,它将屏幕划分网格,通过指定行和列的形式来管理,UI,组件,,TableLayout,并不需要明确地声明包含多少行、多少列,而是通过添加,TableRow,、其他组件来控制表格的行数和列数。,每次向,TableLayout,中添加一个,TableRow,,该,TableRow,就是一个表格行,,TableRow,也是容器,因此可以不断地添加其他组件,每添加一个组件该表格就增加一行。,如果直接向,TableLayout,中添加组件,那么该组件将直接占用一行。,在表格布局中,列的宽度由该列中最宽的那个单元决定,整个表格布局的宽度则取决于父容器的宽度。,表格布局还支持嵌套,可以将一个表格布局放在另一个表格布局中,也可以在表格布局中添加其他界面布局,例如线性布局、相对布局等等。,2.4.3,表格布局,表格布局的三种行为方式,Shrinkable:,如果某个列被设为,Shrinkable,,那么该列的所有单元格的宽度可以被收缩,以保证该表格能适应父容器的宽度。,Stretchable:,如果某个列被设为,Stretchable,,那么该列的所有单元格的宽度可以被拉伸,以保证组件能完全填满表格空余空间。,Collapsed:,如果某个列被设为,Collapsed,,那么该列的所有单元格会被隐藏。,2.4.3,表格布局,注意:一个列可以同时具有,Shrinkable,和,Stretchable,属性,在这种情况下,该列的宽,度将任意拉伸或收缩以适应父容器。,表格布局的属性和方法,TableLayout,继承自,LinearLayout,类,除了继承来自父类的属性和方法,,TableLayout,类中还包含表格布局所特有的属性和方法。,TableLayout,类常用属性及对应方法说明:,2.4.3,表格布局,表格布局示意图,表格布局效果图,2.4.3,表格布局,表格布局,2.4.3,表格布局,表格布局,2.4.3,表格布局,布局嵌套,2.4.3,表格布局,相对布局,在相对布局中,子控件的位置是相对兄弟控件或父容器而决定的。出于性能考虑,在设计相对布局时要按照控件之间的依赖关系排列,如,View A,的位置相对于,View B,来决定,则需要保证在布局文件中,View B,在,View A,的前面。,特点:能够最大程度保证在各种屏幕类型的手机上正确显示界面布局,2.4.4,相对布局,相对布局的属性,相对布局中只取,true,或,false,的属性,2.4.4,相对布局,相对布局的属性,相对布局中取值为其他控件,id,的属性及说明,2.4.4,相对布局,相对布局的属性,相对布局中取值为像素的属性及说明,2.4.4,相对布局,需要注意的是在进行相对布局时要避免出现循环依赖,例如设置相对布局在父容器中的,排列方式为,WRAP_CONTENT,,就不能再将相对布局的子控件设置为,ALIGN_PARENT_BOTTOM,。因为这样会造成子控件和父控件相互依赖和参照的错误。,相对布局,相对布局在,main.xml,文件的完整代码如下,2.4.4,相对布局,相对布局子规则,用于子控件在父布局中居中的规则,包括:水平居中,垂直居中,或者两者皆居中。,用于子控件在父布局中排布的规则,包括:在顶部,底部,左,右边缘放置。,用于子控件相对于其它子控件排布的规则,包括:在另一个控件顶,底,左,右边缘放置。,用于子控件相对于其它子控件放置的规则,包括:在另一个控件上面,底下,左边或右边放置。,2.4.4,相对布局,相对布局使用技巧,相对布局的子控件必须有唯一的,id,属性以使规则正确应用。,当心循环规则。循环规则发生在两个控件具有互相指向的规则时。如果你在布局设计中使用了,循环规则,你将会得到以下错误信息:,IllegalStateException,:Circular dependencies cannot exist in a,RelativeLayout,(相对布局中不允许存在循环依赖),保持你的相对布局规则最小化。这减小了循环规则的机率并且使得你的布局更加可维护和灵活。,一般地,记住测试一下你的布局设计在横屏和竖屏模式下,以及在不同的屏幕大小和解决方案,下是不是符合预期的。,使用相对布局代替嵌套线性布局以改进程序性能和响应能力。,2.4.4,相对布局,绝对布局,绝对布局(,AbsoluteLayout,)能通过指定界面元素的坐标位置,来确定用户界面的整体布局,绝对布局是一种不推荐使用的界面布局,因为通过,X,轴和,Y,轴确定界面元素位置后,,Android,系统不能够根据不同屏幕对界面元素的位置进行调整,降低了界面布局对不同类型和尺寸屏幕的适应能力,2.4.5,绝对布局,绝对布局,每一个界面控件都必须指定坐标(,X,,,Y,),例如用户编辑框的坐标是,(40,40);,文本编辑框的坐标是,(40,60),宽度为,200dip;“,确认”按钮的坐标是(,40,,,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!