`
ywChen
  • 浏览: 121105 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

布局管理器(一)

 
阅读更多

 

1.线性布局

 

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

 

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

 

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

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

center_horizontal,fill_horizontal,center,

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

android:orientation setOrientation(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:collapseColumns setColumnCollapsed(int,boolean) 设置需要被隐藏的列的列序号,多个列序号之间用逗号隔开
android:shrinkColumns setShrinkAkllColumns(boolean) 设置允许被收缩的列的列序号,多个列序号之间用逗号隔开
android:stretchColumns setStretchAllColumns(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:foregroundGravity setForegroundGravity(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

 

 

 

 

  • 大小: 20.2 KB
  • 大小: 3.4 KB
分享到:
评论

相关推荐

    MFC布局管理器

    在MFC中,布局管理器是一个重要的组件,它负责自动调整控件的位置和大小,以适应窗口的变化。本篇文章将深入探讨"MFC布局管理器",特别是描述中提到的"盒子布局管理器类CBoxLayout"。 MFC布局管理器的主要目标是...

    AWT组件提供的6种布局管理器

    AWT组件提供的6种布局管理器 AWT(Abstract Window Toolkit)组件提供了六种布局管理器,分别是BorderLayout、FlowLayout、GridLayout、GridBagLayout、CardLayout和BoxLayout。这些布局管理器可以帮助开发者更好地...

    布局管理器的使用

    本教程主要聚焦于“布局管理器”的使用,通过多个可运行的实例来深入讲解这一主题。布局管理器是用于组织和调整控件在窗口中的位置和大小的工具,它在QT Creator中尤其关键,因为QT是广泛应用于Linux以及其他平台的...

    布局管理器的嵌套.rar

    首先,文件“020505_布局管理器的嵌套.avi”很可能是一个视频教程,详细介绍了如何在Android中使用布局管理器进行组件的嵌套。布局管理器的嵌套是创建复杂UI时常用的技术,它可以帮助开发者实现组件的层次结构,例如...

    一款基于Prototype 1.6 的web布局管理器

    标题中的“一款基于Prototype 1.6 的web布局管理器”指的是一个用于Web应用程序的布局解决方案,它构建在Prototype JavaScript库的1.6版本之上。Prototype是一个广泛使用的JavaScript框架,它提供了一系列工具来简化...

    Android UI组件布局管理器

    在Android开发中,UI设计是至关重要的,而布局管理器(Layout Manager)则是构建用户界面的核心工具。Android提供了六种主要的布局管理器,每种都有其特定的用途和优势,使得开发者能够根据需求创建出各种各样的界面...

    swt 布局管理器 java中应用

    GridLayout是最常用的布局管理器之一,它将父组件划分为一个二维网格,子组件可以占据一个或多个单元格。GridLayout通过`numColumns`属性确定网格的列数,同时通过`makeColumnsEqualWidth`属性可以控制所有列是否...

    Android学习笔记16:布局管理器的嵌套

    本篇学习笔记主要探讨的是如何在Android应用中进行布局管理器的嵌套,这是一项提升界面复杂性和交互性的技术。我们将深入理解嵌套布局的工作原理,同时通过一个名为`NestedLayoutDemo`的实际项目来实践这些概念。 ...

    安卓布局管理器

    ### 安卓布局管理器 #### 核心概念 在深入掌握Android布局知识之前,我们首先需要了解Android平台下的控件类基础。整个Android的布局和控件体系构建在几个核心类上,其中最基础的是`View`和`ViewGroup`。 **View...

    java布局管理器实例

    Java中的布局管理器是构建图形用户界面(GUI)的关键元素,它们负责自动调整和组织窗口内的组件。在Java AWT和Swing库中,布局管理器使得开发者无需精确设定每个组件的位置和大小,就能创建出适应不同屏幕尺寸和...

    Java Swing布局管理器

    布局管理器的工作过程是,每个容器保存一个对一个布局管理器的引用,这个布局管理器对容器中的组件进行定位和整形。容器只是可以含有其他组件的组件。 在 Java 中,Container 类是所有容器的父类,它提供了对布局...

    Swing常见布局管理器总结

    边界布局管理器(`BorderLayout`)是一种非常常见的布局管理器,主要用于处理容器内组件的定位,将其分布在容器的五个基本区域:北(North)、南(South)、东(East)、西(West)以及中心(Center)。这种布局方式...

    布局管理器

    在计算机编程,特别是图形用户界面(GUI)设计中,布局管理器是一个至关重要的概念。它负责控制窗口小部件(如按钮、文本框等)在屏幕上的位置和大小,确保它们能够适应不同分辨率和屏幕尺寸的设备。在Java Swing和...

    Java的布局管理器 “计算器”的框架

    自行设计程序,创建一个标题为“计算器”的框架。要求有菜单项,文本框、按钮等控件。采用BorderLayout或者GridLayout布局管理器。

    VC布局管理器

    提供与Win32窗口句柄相关的界面的布局管理,可以兼容SDK、MFC、ATL等能获取窗口句柄的界面库。 模块只有一个头文件LayoutManager.h,移植非常方便。代码附带测试工程。 资源为原创作品,可以应用于任何产品,不收取...

    Swing布局管理器

    Swing布局管理器是Java图形用户界面(GUI)开发中的一个重要概念,特别是在使用Swing库构建应用程序时。Swing在AWT(Abstract Window Toolkit)的基础上构建,因此它也继承了AWT中的布局管理机制。布局管理器的主要...

    Java GUI(图形用户界面) 布局管理器

    3. GridLayout:这个布局管理器将窗口划分为等大小的网格,每个网格可以放置一个组件。所有组件都将占据相同的空间,适合创建棋盘或网格状的应用。 4. CardLayout:这种布局允许在单个容器中切换多个面板,就像信用...

    qt_布局管理器_信号与槽

    "qt_布局管理器_信号与槽"这个主题涵盖了Qt中的两个核心概念:布局管理和信号与槽机制。 **布局管理器** 在Qt中,布局管理器是构建用户界面的重要工具。它们允许开发者自动调整控件的位置和大小,以适应窗口或...

    谈谈Java中的布局管理器.pdf

    流布局管理器(FlowLayout)是一种常用的布局管理器,将组件逐行定位,行内从左到右,一行排满后换行,默认对齐方式为居中对齐,不改变组件的大小,按组件原有尺寸显示组件。 边界布局管理器(BorderLayout)将整个...

Global site tag (gtag.js) - Google Analytics