FrameLayout和TableLayout

FrameLayout

相比于前面两种布局就简单很多,因此它的应用场景也少了很多,FrameLayout没有任何定位方式,所有控件都放在布局的左上角,如果拜访量多个控件,则最后定义的压在其他控件的最上面。

TableLayout

这种布局允许我们使用表格的方式来排列控件,这种布局也不是很常用,你只需要了解一下他的基本用法就可以了。既然是表格就一定有列和行,设计表格是我们应该尽量让每一行都拥有相同的列数,这样的表格也是简单的。当某一行要有不相等的列数时,可以进行单元格合并解决这个问题,通过layout_span="2"表示这个控件占两列。

每加入一个TextRow就相当于加入一行,每在一个TextRow中加入一个控件就相当于添加一列

当前登录界面并没有充分利用屏幕的宽度,右侧还空出一块,因为在TableRow中我们无法顶空间的宽度,这时使用android:stretchColumns属性就可以很好地解决这个问题,它允许将TableLayoutzhong的某一列进行拉伸,以达到自动适应屏幕宽度的作用。这里将android:stretchColumns设为"1"表示如果表格不能完全占满屏幕宽度,就将第二列进行拉伸,指定0就是拉伸第一列

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:stretchColumns="1"
 6     >
 7     <TableRow>
 8
 9         <TextView
10             android:id="@+id/textView1"
11             android:layout_width="wrap_content"
12             android:layout_height="wrap_content"
13             android:text="TextView" />
14
15         <EditText
16             android:id="@+id/editText1"
17             android:layout_width="wrap_content"
18             android:layout_height="wrap_content"
19             android:ems="10"
20             android:inputType="textPersonName" >
21
22             <requestFocus />
23         </EditText>
24     </TableRow>
25
26     <TableRow>
27
28         <TextView
29             android:id="@+id/textView2"
30             android:layout_width="wrap_content"
31             android:layout_height="wrap_content"
32             android:text="TextView" />
33
34         <EditText
35             android:id="@+id/editText2"
36             android:layout_width="wrap_content"
37             android:layout_height="wrap_content"
38             android:ems="10"
39             android:inputType="textPassword" >
40
41             <requestFocus />
42         </EditText>
43     </TableRow>
44
45     <TableRow>
46
47         <Button
48             android:id="@id/button1"
49             android:layout_height="wrap_content"
50             android:layout_span="2"
51             android:text="登录" />
52     </TableRow>
53
54 </TableLayout>

android中其实还有一个AbsoluteLayout不过这个连官方都已经不准备使用了。因此我们直接忽略即可。

时间: 2024-08-06 03:41:17

FrameLayout和TableLayout的相关文章

常见Android面试题及答案(详细整理)

常见Android面试题及答案(详细整理) 1. 请描述一下Activity 生命周期. 答: 如下图所示.共有七个周期函数,按顺序分别是: onCreate(), onStart(), onRestart(), onResume(), onPause(),onStop(), onDestroy(). onCreate(): 创建Activity时调用,设置在该方法中,还以Bundle的形式提供对以前存储的任何状态的访问. onStart(): Activity变为在屏幕上对用户可见时调用. o

day2-UI布局

一.Android UI框架:[了解] Android中所有的UI(用户界面)元素都是使用View和ViewGroup对 象建立的,View是一个可以将一些信息绘制在屏幕上并与用户产生交互的 对象,而ViewGroup是一个包含多个的View和ViewGroup的容器,用来定 义UI布局. Android提供了一系列的View和ViewGroup的子类,开发者可以灵活地 组合使用它们来完成界面布局.界面元素绘制和用户交互等工作,同时,开 发者还可以选择性地继承一些系统提供的View,来自定义Vi

Android 布局

Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面. 所有的布局方式都可以归类为ViewGroup的5个类别,即ViewGroup的5个直接子类.其它的一些布局都扩展自这5个类. 1.LinearLayout,线性布局方式 这种布局比较常用,也比较简单,就是每个元素占一行,当然也可能声明为横向排放,也就是每个元素占一列. LinearLayout按照垂直或者水平的顺序依次排列子元素,每一个子元素都

android 自学笔记2-布局

1.LinearLayout <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:orientation="horizontal" >  

Android 中常见控件的介绍和使用

1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.lang.Object   ? android.view.View   ? android.widget.TextView 直接子类: Button, CheckedTextView, Chronometer, DigitalClock, EditText 间接子类: AutoCompleteTextV

A019-布局之GridLayout

GridLayout 网格布局,是Android4.0之后的API才提供的,算是一个相对新的布局容器,它的用法也很简单,类似LinearLayout可以指定方向,也可以指定控件占用多少行或列的空间. 举例 我们看一个例子: 这里我做了一个登录的一个布局,如果不使用GridLayout来进行布局,可能会有多个布局的嵌套才能实现这样的布局,相对比较麻烦,使用了GridLayout我们可以更加灵活的去控制对齐:网格视图针对行和列进行分割为一个个单元格. 示例代码: <?xml version="

Android布局大全(转)

转自http://www.cnblogs.com/devinzhang/archive/2012/01/19/2327535.html           Devin Zhang Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦.组件按照布局的要求依次排列,就组成了用户所看见的界面. 所有的布局方式都可以归类为ViewGroup的5个类别,即ViewGroup的5个直接子类.其它的一些布局都扩展自这5个类. 1.LinearLayout,线性布局方

Android开发系列之UI开发

在app开发的过程中,我们会使用到大量的控件,了解各种控件的特性,熟练的使用它们是非常重要的,本篇会详细介绍几种常见控件的使用方法,废话不多说,直接上代码. 一.TextView 二.EditText 三.ImageView 四.ProgressBar 五.AlertDialog 六.详解四种基本布局 一个丰富的界面不仅需要有多个控件组成,更要选择合适的布局使各个控件有条不絮地摆放在界面上,让界面看起来更佳美观.android开发过程中主要有四种基本布局:LinearLayout.Relativ

Android 之UI自适应解决方案

1.概况 作为Android开发人员,最头疼的莫过于让自己开发的程序在不同终端上面的显示效果看起来尽量一致(当然,如果要充分利用大屏幕的优势另当别论).在全球范围内来讲,android有着数以亿计的设备,其中就不乏设备分辨率多种多样,以及设备屏幕物理尺寸的多样化. 总得来说我们需要做的有三点,其一让APP的每个UI中的每个View宽和高更加灵活以适应不同分辨率.其二对于大屏幕设备(PAD)需要有不同的设计,竟可能多的展示内容,获取你整个APP的所有UI都可以做到一个布局中来.其三图标资源需提供不