布局管理器(一)

 

1.线性布局

 

   线性布局由LinearLayout类来代表,它们将容器里的组件一个挨着一个地排列起来。不仅可以控制个组件横向排列,也可控制各组件纵向排列。

 

LinearLayout的常用XML属性及相关方法的说明

 

XML属性相关方法说明
android:gravitysetGravity(int)

设置布局管理器内组件的对齐方式。该属性支持top,bottom,left,right,center_certical,

center_horizontal,fill_horizontal,center,

fill,clip_vertical,clip_horizontal。也可以同时制定多种堆砌方式的组合,例如left|center_horizontal 代表出现在屏幕左边,而且垂直居中。竖线前后千万不能出现空格

android:orientationsetOrientation(int)

设置布局管理器内组件的排列方式,可以设置为

horizontal(水平排列)、vertical(垂直排列、默认值)两个值的其中之一

 

 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" 
	android:layout_width="fill_parent"
	android:layout_height="fill_parent" 
	android:gravity="right|center_horizontal">
	<Button android:layout_height="wrap_content" 
			android:text="@string/btl1"
			android:id="@+id/btl1" android:layout_width="94dp">
	</Button>
	<Button android:layout_height="wrap_content" 
			android:text="@string/btl2"
			android:id="@+id/btl2" android:layout_width="94dp">
	</Button>
	<Button android:layout_height="wrap_content" 
			android:text="@string/btl3"
			android:id="@+id/btl3" android:layout_width="94dp">
	</Button>
	<Button android:layout_height="wrap_content"
			android:text="@string/btl4"
			android:id="@+id/btl4" android:layout_width="94dp">
	</Button>
	<Button android:layout_height="wrap_content" 
			android:text="@string/btl5"
			android:id="@+id/btl5" android:layout_width="94dp">
	</Button>
	<Button android:layout_height="wrap_content" 
			android:text="@string/btl6"
			android:id="@+id/btl6" android:layout_width="94dp">
	</Button>
</LinearLayout>
 

 

 

2.表格布局

 

    表格布局由TableLayout所代表,表格布局采用行,列的形式来管理UI组件,TableLayout并不需要明确地声明包含多少行,列,而是通过添加TableRow,其他组件来控制表格的行数和列数。

    每次想TableLayout中添加一个TableRow,该TableRow就是一个表格行,TableRow也是容器,因此它可以不断地添加其他组件,每添加一个子组件该表格就增加一列。


TableLayout的常用XML属性及相关方法的说明

 

XML属性相关方法说明
android:collapseColumnssetColumnCollapsed(int,boolean)设置需要被隐藏的列的列序号,多个列序号之间用逗号隔开
android:shrinkColumnssetShrinkAkllColumns(boolean)设置允许被收缩的列的列序号,多个列序号之间用逗号隔开
android:stretchColumnssetStretchAllColumns(boolean)设置允许被拉伸的列的列序号,多个列序号之间用逗号隔开

 

 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" 
	android:layout_width="fill_parent"
	android:layout_height="fill_parent" 
	>
	<!-- 第一个表格布局,指定第2列允许收缩,第3列允许拉伸 -->
	<TableLayout android:id="@+id/tl1"
			     android:layout_width="fill_parent"
			     android:layout_height="wrap_content"
			     android:shrinkColumns="1"
			     android:stretchColumns="2"
	>
	    <!-- 独占一行 -->
		<Button android:layout_height="wrap_content" 
				android:layout_width="wrap_content"
				android:text="独自一行的按钮"
				android:id="@+id/btt1">
		</Button>
	<TableRow >
		<Button android:layout_height="wrap_content" 
				android:layout_width="wrap_content"
				android:text="普通按钮"
				android:id="@+id/btt2" >
		</Button>
		<Button android:layout_height="wrap_content"  
				android:layout_width="wrap_content"
				android:text="允许收缩按钮"
				android:id="@+id/btt3">
		</Button>
		<Button android:layout_height="wrap_content"  
				android:layout_width="wrap_content"
				android:text="可以被允许拉伸按钮"
				android:id="@+id/btt4">
		</Button>
	</TableRow>
	</TableLayout>
	
	<!-- 第二个表格布局,指定第2列隐藏 -->
	<TableLayout android:id="@+id/tl2"
			     android:layout_width="fill_parent"
			     android:layout_height="wrap_content"
			     android:collapseColumns="1"
	>
	   <!-- 独占一行 -->
		<Button android:layout_height="wrap_content" 
				android:layout_width="wrap_content"
				android:text="独自一行的按钮"
				android:id="@+id/btt5">
		</Button>
		<TableRow >
		<Button android:layout_height="wrap_content" 
				android:layout_width="wrap_content"
				android:text="普通按钮1"
				android:id="@+id/btt6" >
		</Button>
		<Button android:layout_height="wrap_content"  
				android:layout_width="wrap_content"
				android:text="普通按钮3"
				android:id="@+id/btt7">
		</Button>
		<Button android:layout_height="wrap_content"  
				android:layout_width="wrap_content"
				android:text="普通按钮3"
				android:id="@+id/btt8">
		</Button>
	</TableRow>
	</TableLayout>
	<!-- 第三个表格布局,指定第2列和第3列允许拉伸 -->
	<TableLayout android:id="@+id/tl3"
			     android:layout_width="fill_parent"
			     android:layout_height="wrap_content"
			     android:stretchColumns="1,2"
	>
		   <!-- 独占一行 -->
		<Button android:layout_height="wrap_content" 
				android:layout_width="wrap_content"
				android:text="独自一行的按钮"
				android:id="@+id/btt9">
		</Button>
		<TableRow >
		<Button android:layout_height="wrap_content" 
				android:layout_width="wrap_content"
				android:text="普通按钮1"
				android:id="@+id/btt10" >
		</Button>
		<Button android:layout_height="wrap_content"  
				android:layout_width="wrap_content"
				android:text="允许拉伸按钮"
				android:id="@+id/btt11">
		</Button>
		<Button android:layout_height="wrap_content"  
				android:layout_width="wrap_content"
				android:text="普通按钮3"
				android:id="@+id/btt12">
		</Button>
	</TableRow>
		<TableRow >
		<Button android:layout_height="wrap_content" 
				android:layout_width="wrap_content"
				android:text="允许拉伸按钮"
				android:id="@+id/btt13" >
		</Button>
		<Button android:layout_height="wrap_content"  
				android:layout_width="wrap_content"
				android:text="允许拉伸按钮"
				android:id="@+id/btt14">
		</Button>
	</TableRow>
	</TableLayout>
</LinearLayout>
  效果图:


 

3.帧布局

 

    帧布局由FrameLayout所代表,帧布局容器为每个加入其中的组件创建一个空白的区域(成为一帧),所有每个子组件占据一帧,这些帧都会根据gravity属性执行自动对齐。也就是说,把组件一个一个的叠加在一起。

 

  FrameLayout的常用XML属性及相关方法的说明
XML属性相关方法说明
android:foreground setForeground(Drawable)

设置该帧布局容器的前景图像

android:foregroundGravitysetForegroundGravity(int)

定义绘制前景图像的gravity属性

 

渐进效果

 

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" 
	android:layout_width="fill_parent"
	android:layout_height="fill_parent">
<!-- 一次定义7个Textview,先定义的TextView位于底层,后定义的TextView位于上层 -->
<TextView android:id="@+id/view01"
		  android:layout_width="wrap_content"
		  android:layout_height="wrap_content"
		  android:width="210px"
		  android:height="50px"	
		  android:background="#ff0000"/>
		  
<TextView android:id="@+id/view02"
		  android:layout_width="wrap_content"
		  android:layout_height="wrap_content"
		  android:width="180px"
		  android:height="50px"	
		  android:background="#dd0000"/>
		  		  
<TextView android:id="@+id/view03"
		  android:layout_width="wrap_content"
		  android:layout_height="wrap_content"
		  android:width="150px"
		  android:height="50px"	
		  android:background="#bb0000"/>	
		  
<TextView android:id="@+id/view04"
		  android:layout_width="wrap_content"
		  android:layout_height="wrap_content"
		  android:width="120px"
		  android:height="50px"	
		  android:background="#990000"/>

		  
<TextView android:id="@+id/view05"
		  android:layout_width="wrap_content"
		  android:layout_height="wrap_content"
		  android:width="90px"
		  android:height="50px"	
		  android:background="#770000"/>	
		  		  
<TextView android:id="@+id/view06"
		  android:layout_width="wrap_content"
		  android:layout_height="wrap_content"
		  android:width="60px"
		  android:height="50px"	
		  android:background="#550000"/>

<TextView android:id="@+id/view07"
		  android:layout_width="wrap_content"
		  android:layout_height="wrap_content"
		  android:width="30px"
		  android:height="50px"	
		  android:background="#330000"/>
</FrameLayout>
 

效果图:

 



 

本人开了个充值淘宝网店。有需要的朋友请访问的店铺并拍下所充值的话费,

本店已加入消费保障服务计划,货源来源于淘宝充值平台,安全可靠便捷,

支付过后立即到账

http://xiaowen168.taobao.com

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值