PAGE \* MERGEFORMAT30

android界面布局详解

我们这次深入分析Android应用程序的布局文件,主要内容如下:

1、用户界面及视图层次

2、Android中布局定义方法

3、编写XML布局文件及加载XML资源

4、常用布局文件中元素的属性

4.1、ID属性

4.2、布局参数

5、布局位置&大小&补距&边距

6、又是“Hello World!”

6.1、又是“Hello World!”(一)

6.2、又是“Hello World!”(二)

6.3、又是“Hello World!”(三)

1、用户界面及视图层次

在通过“Hello World!”介绍Android中的布局问题之前,不得不先介绍一下Android中的用户界面,因为布局问题也是用户界面问题之一。在一个Android应用程序中,用户界面通过View和ViewGroup对象构建。Android中有很多种Views和ViewGroups,他们都继承自View类。View对象是Android平台上表示用户界面的基本单元。

View类:

extends HYPERLINK "/oakpip/admin/file:/C:/Users/qq/AppData/Local/Temp/WindowsLiveWriter-148658618/supfiles1D2D9C4/Object.html" Object

implements HYPERLINK "/oakpip/admin/file:/C:/Users/qq/AppData/Local/Temp/WindowsLiveWriter-148658618/supfiles1D2D9C4/Drawable.Callback.html" Drawable.Callback HYPERLINK "/oakpip/admin/file:/C:/Users/qq/AppData/Local/Temp/WindowsLiveWriter-148658618/supfiles1D2D9C4/KeyEvent.Callback.html" KeyEvent.Callback HYPERLINK "/oakpip/admin/file:/C:/Users/qq/AppData/Local/Temp/WindowsLiveWriter-148658618/supfiles1D2D9C4/AccessibilityEventSource.html" AccessibilityEventSource

这个类表示用户界面组件的基本构建块,一个View占据屏幕上的一个矩形区域,并负责绘图和事件处理。View类是widgets的基类,widgets用于创建交互式UI组件(buttons、text fields等)。View类的直接子类ViewGroup类是layouts的基类,layouts是不可见的容器用户保持其他Views或者其他ViewGroups和定义它们的布局属性。

一个View对象是一个数据结构,它的属性存储屏幕上一个特定矩形区域的布局参数和内容。一个View对象处理它自己的测度、布局、绘图、焦点改变、滚动、键/手势等与屏幕上矩形区域的交互。作为用户界面中的对象,View也是与用户交互的一个点且交互事件接收器。

在Android平台上,你定义活动的UI使用的View和ViewGroup节点的层次结构如下图所示。根据你的需要这个层次树可以是简单的或复杂的,并且你能使用Android预定义的widgets和layouts集合,或者使用自定义的Views。

图1、视图层次结构

为了将视图层次树呈现到屏幕上,你的活动必须调用setContentView()方法并且传递到根节点对象的引用。Android系统接收这个引用并使用它来验证、测度、绘制树。层次的根节点要求它的孩子节点绘制它自己——相应地每个试图组节点要求调用自己的孩子视图去绘制他们自己。子视图可能在父视图中请求指定的大小和位置,但是父视图对象有最终决定权(子视图在哪个位置及多大)。因为它们是按序绘制的,如果元素有重叠的地方,重叠部分后面绘制的将在之前绘制的上面。

2、Android中布局定义方法

布局是一个活动中的用户界面的架构,它定义了布局结构且存储所有显示给用户的元素。有两种方式可以声明布局,这个我们在上文中已经用了(对应 HYPERLINK "/skynet/archive/2010/05/11/1732208.html" \t "_blank" 上文的“Hello World的手术(二)”、“Hello World的手术(三)”)。我们再重温总结一下:

方法一、在XML格式的布局文件中声明UI。Android提供了简易的XML词汇表对应视图类和其子类,诸

android中界面布局文件放在,android界面布局详解.doc相关推荐

  1. android fragment加载布局的方式,Android中Fragment的加载方式与数据通信详解

    Android中Fragment的加载方式与数据通信详解 发布时间:2020-08-22 18:55:57 来源:脚本之家 阅读:155 作者:Joah 一.加载方式 1. 静态加载 1.1 加载步骤 ...

  2. android启动页使用gif,android中使用react-native设置应用启动页过程详解

    一.背景 在我们使用react-native进行编写代码的时候,当启动应用的时候,我们会看到如下界面 然而,这样的启动界面是非常的不又好,那么我们该怎么进行处理启动界面呢?有如下两种方案 二.方案 1 ...

  3. 局域网中文件或打印机共享服务器,局域网内文件、打印机共享设置详解.doc

    文档介绍: 局域网内文件.打印机共享设置详解第一:小型企业中,一般没有另外装置如WINDOWS2003服务器操作系统电脑来作为打印服务器而采用是装有WINDOWSxp电脑之间的双机打印共享,这是对等网 ...

  4. Android 中的context, service,active和intent使用详解

    在一个Android应用中,主要是由四种组件组成的,这四种组件分别是Context,Activity,Intent,Service. Content被译为上下文,是应用程序中心,应用程序所有功能可以通 ...

  5. Android中设置控件可见与不可见详解

    通常控件的可见与不可见分为三种情况. 第一种 gone 表示不可见并且不占用空间 第二种 visible 表示可见 第三种 invisible 表示不可见但是占用空间 可见与不可见的表现形式有两种. ...

  6. linux中and运算符文件重定向,linux 重定向问题详解

    Linux重定向是指修改原来默认的一些东西,对原来系统命令的默认执行方式进行改变,比如说简单的我不想看到在显示器的输出而是希望输出到某一文件中就可以通过Linux重定向来进行这项工作. Linux默认 ...

  7. Android中px、dp、dip、sp详解

    众所周知,Android厂商非常多,各种尺寸的Android手机.平板层出不穷.导致了Android生态环境的碎片化现象越来越严重.Google公司为了解决分辨率过多的问题,在Android 的开发文 ...

  8. Android中的Searchview以及SearchableDictionary项目和plurals详解

    Android4.0之后,Android内置了一个搜索控件,配合ActionBar上面的搜索按钮,相当不错好看,这次使用了下,觉得很不错. 这个搜索的好处在于你点击后,他会自动弹出个搜索框,输入内容后 ...

  9. android 获取图片bitmap对象,Android中Glide获取图片Path、Bitmap用法详解

    脚本之家在此之前给大家介绍过图片加载框架Glide的基本用法介绍,大家可以先参考一下,本篇内容更加深入的分析了Glide获取图片Path.Bitmap用法,以及实现的代码分析. 1. 获取Bitmap ...

  10. Android初级,实现网易云音乐歌曲列表界面效果,播放界面效果,ListView,ViewPager方法详解

    初学Android初级,第一篇博客文章,如有错误,还望批评指正! 本文主要内容以网易云音乐歌曲列表界面效果代码,播放音乐界面效果代码为主,并将ListView和ViewPager作为实现界面滑动功能的 ...

最新文章

  1. C++:常类型Const
  2. 二维模式(矩阵)匹配(Rabin-Karp算法推广到二维)[转]
  3. “大树底下”的阿里电商 淘品牌的“配角变名角”
  4. matlab绘制csv图片,Matlab处理csv文件与图形绘制总结
  5. python验证码 识别代码不准_谈谈Python进行验证码识别的一些想法
  6. 标记语言Markdown介绍以及日常使用
  7. 多线程同步 通过实现Runnable的示例
  8. 代码不是艺术,是现实的表现
  9. Linux性能分析工具汇总
  10. Linq to Oracle 使用教程目录
  11. 2010 模板下载 罗斯文_利用模板建立Access 2010数据库的方法
  12. layui树形美化_使用layui-tree美化左侧菜单,点击生成tab选项
  13. 使用C++调用Socket接口实现简易TCP服务器
  14. miniUI ExcelExport导出JAVA实现
  15. LeNet5—论文及源码阅读
  16. [渝粤教育] 中南大学 科学计算与MATLAB语言 参考 资料
  17. 如何配置SQL Server 2008管理器_过路老熊_新浪博客
  18. 使用html制作个人主页
  19. Markdown 常用语法
  20. 4511或74LS48来实现BCD转7段数码管及逻辑状态输入演示

热门文章

  1. MATLAB图像分割——标记分水岭分割算法
  2. linux手动rpm升级glibc,升级glibc库到glibc-2.14.1
  3. SpringBoot 生产中 16 条最佳实践
  4. 小程序如何生成海报分享朋友圈
  5. 微信小程序生成海报页面
  6. 来给PPT添加一个进度条和页码吧
  7. mac airdrop 隔空投送 我可以发现别人,别人发现不了我。搜索不到。
  8. label怎么换行 vb_VB中怎么换行 | 学步园
  9. Excel Mrp生产计划工具
  10. 单片机矩阵键盘c语言程序,stc89c52单片机下的矩阵键盘程序