Java优质资料,Java实战项目,Android开发教程,包括多线程,结构,算法,BATJ面试题等,大牛积累的经验~~~如果您需要更多信息,可以加入我们的Java基础交流学习基地免费获取:925050116!!!上一节提到Activity是Android程序的表现层,程序的每一个显示画面都是一个Activity。但是Activity不能直接显示在屏幕上。直接显示在屏幕上的是放置在Layout文件中的各种View(Button,TextView...)控件。学了.Net开发之后,会感觉很像WebForm,Activity相当于页面后台的.cs代码,Layout相当于前台的.aspx页面。通常在一个Layout文件中放置多个控件之前,我们需要定义Layout使用的布局方法。布局方法定义在Layouts包含的控件中:这些Layouts布局控件都是继承自抽象类ViewGroup,而View也是继承自ViewGroup。ViewGroup的作用是加载和管理下一层的View对象或ViewGroup对象,也就是说它是其他元素的容器。在ViewGroup中,还定义了一个内部类ViewGroup.LayoutParams。这个类定义了对象的位置和大小等属性,View通过LayoutParams中这些属性的值告诉父级它们将如何放置。1.框架布局FrameLayout:FrameLayout是最简单的布局对象。里面的所有显示对象都会固定在屏幕的左上角,不能指定位置,后面的会直接叠加在前面的上面:如图,第二个TextView直接叠加在第一个TextView。2、线性布局LinearLayout:LinearLayout是最常用的布局之一,也是RadioGroup、TabWidget、TableLayout、TableRow、ZoomControls的父类。其中所有显示的对象都是垂直或水平排列的(通过设置LinearLayout属性的Orentation来设置排列方式):3.相对布局RelativeLayout:RelativeLayout允许子元素指定自己相对于父元素或兄弟元素的位置,这是一种实际布局中最常用的布局方式。灵活性大,属性多,操作难度相对较大,属性之间发生冲突的可能性也大。使用相对布局时,需要进行更多测试。RelativeLayout使用到的一些重要的属性:第一类:属性值为true或falseandroid:layout_centerHrizontal----------------------------水平居中android:layout_centerVertical---------------------------------垂直中心android:layout_centerInparent-------------------------------相对父元素完全居中android:layout_alignParentBottom----------------------------靠近父元素的下边缘android:layout_alignParentLeft--------------------------------close父元素的左边缘android:layout_alignParentRight----------------------------靠近父元素的右边缘父元素android:layout_alignParentTop------------------------------靠近父元素android:layout_alignWithParentIfMissing的上边缘---------------------如果找不到对应的兄弟元素,则使用父元素作为参考。第二类:属性值必须是id“@id/id-name”的引用名android:layout_below------------------------------------------元素下方android:layout_above------------------------------------在一个元素之上android:layout_toLeftOf-------------------------------------左边的一个元素android:layout_toRightOf-----------------------------------在一个元素的右侧android:layout_alignTop----------------------------------这个元素的上边缘与一个元素的上边缘对齐android:layout_alignLeft--------------------------------------这个元素的左边缘与一个元素的左边缘对齐android:layout_alignBottom----------------------------------这个元素的底边与元素的底边对齐elementandroid:layout_alignRight------------------------------------这个元素的右边缘对齐元素右边缘类:该属性值为具体的像素值,如30dip、40pxandroid:layout_marginBottom------------------------------from距离元素底边的距离android:layout_marginLeft------------------------------------距元素左边缘的距离android:layout_marginRight----------------------------------距元素右边缘的距离android:layout_marginTop-----------------------------------远程nce来自一个元素的上边缘4.表格布局TableLayout:TableLayout以行和列的形式管理子元素。每一行都是一个TableRow布局对象,当然也可以是一个普通的View对象。TableRow中的每个元素都是一列。总列数由列数最多的行决定。表格行><TableRowandroid:id="@+id/tableRow3"android:layout_width="wrap_content"android:layout_height="wrap_content"><按钮android:id="@+id/button2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="Secondrow,secondcolumn"/>android:layout_span="2"是设置TextView占2列(我在界面设计器里没找到TextView的Span属性,所以在xml文件中),android:stretchColumns="*"就是设置TableLayout的所有列自动展开。如果不设置自动展开,每行每列的宽度会根据显示的内容改变TableLayout的几个重要属性:collapseColumns----------------------------设置隐藏那些列,列ID从0开始,如果有多个列,用","分隔stretchColumns----------------------------设置自动拉伸那些列,列ID从0开始,如果有多个列,用“,”分隔shrinkColumns----------------------------设置列自动收缩,列ID从0开始,如果有多个列,用","分隔即可用“*”表示所有列,同一列可以同时设置收缩和伸缩。