`
ywChen
  • 浏览: 121567 次
  • 性别: 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。这些布局管理器可以帮助开发者更好地...

    Swing布局管理器

    每个Swing容器都会保存一个布局管理器的引用,该布局管理器负责容器中组件的位置和尺寸调整。当发生可能需要重新布置组件的事件(比如窗口大小改变)时,容器会调用其布局管理器来重新布置内部组件。 在Container类...

    布局管理器的使用

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

    第18讲 布局管理器.ppt

    在Java GUI编程中,布局管理器是一个至关重要的概念,它负责自动管理组件的位置和大小,以适应不同平台和屏幕尺寸的变化。本讲主要探讨了五种常用的布局管理器:FlowLayout、BorderLayout、CardLayout、GridLayout...

    五种布局管理器的经典例子

    在创建一个JFrame或JPanel时,默认使用的布局管理器就是FlowLayout。例如,当你添加多个按钮时,它们会像文字一样自然地排列。 2. BorderLayout(边界布局) BorderLayout将窗口分为五个区域:北(North)、南...

    布局管理器的嵌套.rar

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

    使用布局管理器布局界面.rar

    在编程领域,尤其是在开发图形用户界面(GUI)时,布局管理器是一个不可或缺的工具。本资料包"使用布局管理器布局界面.rar"聚焦于如何利用Java、C语言、C++、C#以及JSP等语言有效地设计和组织GUI组件。布局管理器是...

    qt5总中布局管理器的源码

    Qt5中的布局管理器是构建GUI应用程序的核心工具之一,它帮助开发者自动调整控件在窗口中的位置和大小,以适应不同的屏幕分辨率和用户界面需求。本文将深入解析Qt5布局管理器的源码,探讨其工作原理和实现细节。 ...

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

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

    Android UI组件布局管理器

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

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

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

    安卓布局管理器

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

    java布局管理器实例

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

    Swing常见布局管理器总结

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

    布局管理器

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

    android布局管理器代码

    在Android开发中,布局管理器是构建用户界面(UI)的关键元素。它们负责组织和定位UI组件,确保屏幕上的元素合理、美观地排列。本文将深入探讨Android中的常见布局管理器,尤其是基于XML的布局,以及如何在Activity...

    java 常用布局管理器

    FlowLayout是最简单的布局管理器之一,它按照添加组件的顺序将它们水平放置。当一行的空间不足以容纳下一个组件时,它会自动换行。FlowLayout提供了三种对齐方式: - `FlowLayout.CENTER`(默认):组件居中对齐。 ...

    QT 例程 布局管理

    布局管理器会根据窗口大小的变化自动调整控件的位置,确保界面始终保持整洁和可用。 在QT中,有四种基本的布局类型:QHBoxLayout(水平布局)、QVBoxLayout(垂直布局)、QGridLayout(网格布局)和QFormLayout...

Global site tag (gtag.js) - Google Analytics