`

Android界面布局的几种常用方式

 
阅读更多

现在Android非常疯狂,所以网上关于Android学习的资料如雨后春笋般冒起来,像这些基础的东西更是多如牛毛,我会把用过的东西碰到的困难和怎么解决的记录下来,一来可以供自己复习万一以后又碰到类似的问题就可以直接拿来看下。二来可以给初学者一点小小的帮助

在android中我们常用的布局方式有这么几种:LinearLayout (线性布局),RelativeLayout (相对布局),TableLayout (表格布局),AbsoluteLayout (绝对布局),FrameLayout (帧布局)。

LinearLayout 和 RelativeLayout 应该又是其中用的较多的两种。AbsoluteLayout 比较少用(我自己还没用过),因为它是按屏幕的绝对位置来布局的如果屏幕大小发生改变的话控件的位置也发生了改变。这个就相当于HTML中的绝对布局一样,一般不推荐使用。

LinearLayout 顾名思义就是一条条的将控件布置下去,线性布局分为水平线性和垂直线性二者的属性分别为

android:orientation="horizontal" android:orientation="vertical" 。xmlns:android="http://schemas.android.com/apk/res/android" 很多人对这个感到困惑,其实它就是一个命名空间。

RelativeLayout 相对布局。里面的每个控件之间的关系都是相对的。如果不设置相对关系的话默认摆放在屏幕左上角。重要属性如下:

android:layout_toRightOf="@id/city" :与id为city的控件的右边对齐。

android:layout_alignTop="@id/city" : 与id为city的控件的顶部对齐。

给出示意图如下所示:

android:layout_width="fill_parent" android:layout_height="wrap_content" 我一般在线性布局里面套相对布局,这时候需要注意上面两个属性相对布局的宽度可以设置为填充父控件,但是高度一般不要设置为填充父控件因为这样的话我想在相对布局外面在放控件就没有效果了因为屏幕已经被相对布局全部占据。

不管是用什么布局,宽度与高度这两个属性一定要弄清楚刚开始的时候我经常会发现有些控件没显示在界面上或者占据了整个屏幕,一检查原来是这里设置错了。还有不要忘记这两个属性在一般控件中都是不可或缺的,忘记设置的话就会报错。

TableLayout 这个表格布局不像HTML中的表格那样灵活,只能通过 TableRow 属性来控制它的行而列的话里面有几个控件就是几列(一般情况)。如下代码:

<TableLayout>

<TableRow>

<EditText></EditText>

<EditText></EditText>

</TableRow>

<TableRow>

<EditText></EditText>

<EditText></EditText>

</TableRow>

</TableLayout>

表示两行两列的一个表格。

android:gravity="center" 书面解释是权重比。其时就是让它居中显示。

它还可以动态添加里面的每行每列。如下代码所示:

/*根据id查找表格对象*/

TableLayout tableLayout = (TableLayout) findViewById(R.id.table01);

/*创建列对象*/

TableRow tableRow = new TableRow(this);

/*文本框对象*/

TextView temp = new TextView(this);

temp.setText("text的值");

/*将此文本添加到列中*/

tableRow.addView(temp);

android:stretchColumns="1,2,3,4" 它的意思就是自动拉伸1,2,3,4列。

FrameLayout 帧布局。在它里面的控件都是按后面的一个控件叠加在前一个控件上来显示的。如:

<FrameLayout android:layout_width="wrap_content"

android:layout_height="wrap_content" android:layout_weight="1">

<ImageView android:id="@+id/iv1" android:layout_width="wrap_content"

android:layout_height="wrap_content" android:visibility="invisible"

android:src="@drawable/lotusleaf"></ImageView>

<ImageView android:id="@+id/f1" android:layout_width="wrap_content"

android:layout_height="wrap_content" android:src="@drawable/frog_right"

android:visibility="invisible"></ImageView>

</FrameLayout>

表示的是id为f1的控件叠加在id为iv1的控件上面显示。之前做的青蛙过河的游戏的界面布局“青蛙站在荷叶上”这样一个效果就是通过这个布局实现的。

这几种布局方式是最常用的初学者一定要掌握好,上面写的也就几个很重要和常用的属性很多其他的属性要亲自尝试一下才知道效果。希望这篇博客能对初学者有帮助。

分享到:
评论

相关推荐

    4种常用android主界面布局

    项目包括了市面上常用的4种主界面布局, 1. viewpager 2. fragment 3. viewpager+fragment 4. 新闻布局

    分享五种Android常用布局方式

    Android布局是应用界面开发的重要一环,在Android中,共有五种布局方式,分别是:FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout...

    Android应用的界面编程

    掌握Android界面的几种布局方式 掌握常用的集中UI组件 二、实验内容 设计一个计算器界面,如下图所示。 (2)在Main_activity.java中设计文本按钮,代码如下: 遇到问题:Alt+Enter基本可以解决。 public ...

    Android开发基础 几种常用对话框的使用

    Android开发基础 几种常用对话框的使用 开发步骤如下:(1)布局界面(2)获取按钮,添加事件监听器,实现对话框 。 我采用的是RelativeLayout布局和LinearLayout两个布局,自定义对话框用的是用的是在Layout下创建...

    布局管理器案例集锦。• 线性布局 • 框架布局 • 表格布局 • 相对布局 • 网格布局

    .使用XML文件声明界面布局的特点 • 将程序的表现层和控制层分离(利于代码的维护) ...常见的几种类型的布局管理器: • 线性布局 • 框架布局 • 表格布局 • 相对布局 • 网格布局 需要补充的案例:QQ的登录界面

    Android移动应用开发实验指导书.docx

    (2)掌握Intent的几种常用的属性。 (3)Android系统内置Intent的使用。 (4)了解Activity的生命周期 实验软、硬件环境 硬件:PC电脑一台; 配置:winxp或win7系统,内存大于4G,硬盘250G及以上 JDK1.7 、Eclipse...

    实验3 布局及简单组件的使用

    掌握常用的几种界面布局方法,能够熟练综合应用各种布局方法进行界面设计。设计如下简单的QQ登陆界面,布局可自由选择,

    Android移动应用开发实验指导书.docx.docx

    (2)掌握Intent的几种常用的属性。 (3)Android系统内置Intent的使用。 (4)了解Activity的生命周期 实验软、硬件环境 硬件:PC电脑一台; 配置:winxp或win7系统,内存大于4G,硬盘250G及以上 JDK1.7 、Eclipse...

    Android高级编程--源代码

     ◆如何使用布局和定制view创建用户界面  ◆存储和共享应用程序数据的技术  ◆如何创建基于地图的应用程序,如何使用gps和地理编码位置等基于位置的服务  ◆如何创建和使用后台服务及notification  ◆使用加速...

    新版Android开发教程.rar

    ----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...

    android群雄传

    2.2.2 Android Studio常用界面 21 2.2.3 导入Android Studio工程 23 2.3 ADB命令使用技巧 24 2.3.1 ADB基础 24 2.3.2 ADB常用命令 25 2.3.3 ADB命令来源 29 2.4 模拟器使用与配置 29 第3章 Android控件架构与...

    Android对话框dialog实例源码集

    本代码集演示了如何实现Android带有确定取消按钮的信息框、多个按钮信息框、Android列表框、进度条框、单项选择列表框、多项选择列表框、自定义布局 、读取进度框这几种常用的信息框,每一种对话框都有各自的特点和...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    鉴于市场上用户的手机型号、种类、屏幕分辨率等参差不齐,传统方式根据主流系统分别开发相应的系统耗时又耗力,为了高效开发并节约开发项目成本,本文采用Android+HTML5相结合的方式进行移动端Web系统的设计研发工作...

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--缓存优化之几种方案lastModified |--缓存优化之本地缓存优化(超过规定值或SD卡容量不够时) |--网络post提交查询请求 |--网络之HttpClient的get和post用法 |--网络之判断网络状态是否可用 |--网络之设置apn |--...

    原型设计,axure9最全组件库

    4.包含了界面模型、设备模型、流程元素、标注元素、交互手势等丰富的素材内容,在界面模型中包含了近两百个移动端及WEB端界面模型,其中涵盖了各类常见的界面布局和功能场景。当产品设计初期阶段,可以用界面模型来...

    Android自定义控件案例汇总1(菜单、popupwindow、viewpager)

    自定义控件是根据自己的需要自己...本文以案例的形式来显示几种较为常见的自定义控件。 案例一 优酷菜单: 功能介绍: 手机界面的底部中央有一个半圆,初始状态显示三级菜单,由外到内分别是第三级菜单,第二级菜单,第

    仿美团选择城市、微信通讯录导航悬停分组索引列表。

    其实Android版微信的通讯录界面,它的分组title也不是悬停的,我们已经领先了微信一小步(认真脸)~ 再看看市面上常见的分组列表(例如饿了么点餐商品列表),不仅有悬停头部,悬停头部在切换时,还会伴有切换动画。...

    APKTool批处理版l

    目前,网上常用的APK汉化方法有三种: 一是使用Hex Worksho,这种方法操作繁琐、费时费力,而且经常出现搜不到想要修改的字符的情况; 二是使用汉化浪子大侠的Android ResEdit(目前最新版本AndroidResEdit v1.5),...

    使用DrawerLayout过程中主页面内容被遮住且不能点击的一小解决方案

    前几天,公司一同事让我帮忙解决用DrawerLayout时,DrawerLayout的侧边栏有种像...侧边栏不能自动关闭,另外还要有常用的可以滑动侧边栏关闭侧边栏,点击侧边栏的item要能够触发相应的事件的效果,于是就有了以下的博客

    《程序员》杂志2012年第1期.pdf (免费积分下载)

    Siri为代表的自然用户界面+开放平台也是一种具有潜在爆炸力的技术。正如Robert Scoble在近两年前Siri被Apple收购时撰文所指出的,Siri代表了继1990年代“通过域名找页面”、2000年代“通过页面交互聚人”之后的第三...

Global site tag (gtag.js) - Google Analytics