位置: 编程技术 - 正文

Android XML布局详解 - XML Layouts(安卓xml存储方式)

编辑:rootadmin
Android XML布局详解 - XML Layouts

推荐整理分享Android XML布局详解 - XML Layouts(安卓xml存储方式),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:xml布局是什么,xml布局是什么,android xmlpullparser,android.xml,android.xml,android界面xml,android xml布局大全,android xml布局大全,内容如对您有帮助,希望把文章链接给更多的朋友!

XML布局作为用户界面直接作用显示在Activity(活动、界面)上。它定义了布局结构,并把所有在布局里的元素显示给用户,可以在两个方面声明你的布局:

直接在XML文件里声明你的UI元素:Android提供一个简单的XML文件来对应界面要显示的View和它的子类,比如一些工具控件按钮、图片和一些布局等。在代码里动态的实例化布局元素:在运行的代码里你可以创建视图View和View Group,也可以给它们制定对应的属性,不如高度宽度等。

Android框架提供了这两种定义布局的方式,你可以非常灵活的运用它们。比如,你可以在xml文件里声明你的界面元素,你也可以在代码里修改这些界面元素。在你的应用程序里用XML文件定义布局你可以更好的将对UI元素的控制和你的逻辑代码分离。你的UI描述在你的程序之外,这就意味着你可以独立的修改重新适配这些界面元素而不必重新编译和修改你的代码。例如:你可以创建不同屏幕大小、方向、语言的XML布局文件,此外,在XML文件里声明布局让你的UI更加可视化、形象化,更容易控制调试界面问题。当然这个文档的重点是教你如何在XML文件里定义布局界面。如果你对在代码中定义View对象有兴趣的话,你可以参考ViewGroup和View类。通常情况下,在XML文件中声明UI元素的词汇和命名类、构造方法的名字紧密相关。其中元素的名字对应类的名字,属性的名字对应方法的名字。在实际中这种对应关系非常直接,甚至你可以直接猜到在XML属性对应类的那个方法,哪个类对应XML中的元素。也有一些轻微的差异,比如EditText元素有一个text属性,对应的是EditText.setText()方法。

写XML布局文件 -Write the XML

android提供一系列的嵌套元素,你可以用像创建html文件的方式来使用这些元素,用Android的XML元素,你可以非常快的设计你的UI布局和它们所包含的屏幕元素。每个布局文件必须包含一个根元素,它必须是一个View或ViewGroup对象。如果你定义的根元素,你可以在它内部添加其他的布局对象或者部件来作为它的子元素,逐步建立一个视图层次结构定义到你的根布局中。例如,这里是一个XML布局,使用一个垂直的LinearLayout其中包含一个TextView和一个Button:

<?xml version"utf-8"?>

为了使你的布局文件能够正确的被编译,除了你需要在XML文件里正确的定义你的布局之外,你还需要以.xml的后缀名来保存该文件,并把它放到android工程的res/layout目录

加载XMl布局 -Load the XML Resource

当您编译您的应用程序,每个XML布局文件被编译成一个视图资源。您应该从您的应用程序代码加载布局资源,在您的Activity.onCreate()回调方法中实现。通过调用setContentView(),传递给它的参考布局资源的形式:例如如果你XML布局作为main_layout.xml保存的,加载它,像这样:public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main_layout);}

Android XML布局详解 - XML Layouts(安卓xml存储方式)

在你的程序运行是,onCreate方法会被回调,详细你可以看一下Activity的生命周期。

属性-Attributes

每个View和ViewGroup对象都有对应的属性。有些属性只支持自己的View对象(例如,TextView的的TEXTSIZE属性只是TextView可以使用),有些属性是共有的,比如id属性,因为它们是从根View类继承的。还比如有些属性被认为是“布局参数”,就是描述View对象的某些布局方向,由该对象的父ViewGroup对象定义的属性也是公用的。

ID

在View的视图树里,每一个View视图都有一个整数的唯一标识ID和它相关联。就是说,每一个View都有一个唯一的标识ID。这个ID的引用是一个整数。在XML文件里这个ID通常被制定成字符串,这个ID属性被View的所有视图所共有,就是说在所有的控件里都有这个属性,你会经常的使用它,在XML文件里id标签的语法是:android:id="@&#;id/my_button"

在字符串开头的@符号表示,XML解析器应该把后边的字符串作为一个ID来解析和扩展。&#;号表示,这是一个新的ID并且需要把这个ID的引用放到资源R.java文件里。也有一些资源是android框架提供的,当你需要引用android框架提供的资源时,你并不需要添加其他的符号,但你必须你提供android包的命名空间例如:android:id="@android:id/empty"在Android包命名空间的地方,我们现在引用从android.R资源类的ID,而不是当地的资源类。既再导入包的时候我们需要导入android.R资源的ID。创建Views并在程序中引用它们,常用的模式是:1、定义一个视图或者控件,并给它一个唯一的标识ID

2、创建一个View实例对象,并从布局文件中获得它(一般在onCreate方法里获得).Button myButton = (Button) findViewById(R.id.my_button);

在一个RelativeLayout布局里,指定View的ID是非常重要的。因为在RelativeLayout布局中,同级的View可以相对另一个同级的View的位置定义,这就需要另一个view提供唯一的表示ID。一个ID在整个项目中可能定义的不是唯一的,但是必须保证在一个xml文件里定义是唯一的,最好的就是在整个项目中定义的ID是唯一的。

布局参数

XML布局属性layout_something被定义为布局参数,它们被View和ViewGroup所恰当的保留。每ViewGroup的类实现一个嵌套类扩展ViewGroup.LayoutParams的。这个子类包含的属性类型定义为每个子视图的大小和位置,作适当的视图组。正如你可以看到下图中,父视图组定义为每个子视图(包括子视图组)的布局参数。 getLeft() 返回左侧的或者X的坐标,getTop()返回顶部或者Y的坐标。这两个方法返回的位置都是相对于它的父容器的位置。例如当getLeft()返回的时候,说明这个view相对于它的父容器的最左边边缘像素的位置。此外还提供了getRight(),getBottom()方法来满足一些其他的计算,调用getRight()时类&#;与getLeft()的计算。

大小、填充、边距

view的大小即view的宽度和高度的大小,一个view其实拥有两对&#;的大小。第一对称为衡量高度和衡量宽度,定义的&#;的要在其父容器内,可以通过调用getMeasuredWidth()和getMeasuredHeight()得到它的&#;。第二对简单地称为宽度和高度或有时绘制的宽度和绘制的高度,这些&#;的定义要以实际屏幕的大小来看,宽度和高度可以通过调用getWidth()和getHeight()获得。填充表示像素的左,前,右下方的视野。举一个例子让你明白大小、填充、边距的关系的区别。场景 画室里展览的多幅字画。这些字画就想我们程序里的view,每一个字画都有它的长度和宽度,既自己本身的大小,字画都有木头的装潢,字画本身距离这个装潢的距离,既padding填充,padding也有上下左右方向,你可以设置不同的&#;,每一个字画都距离另外的字画有一定的距离,这个距离既边距,既magin,magin也有自己的上下左右方向,你同样可以制定其&#;。

android NDk初步学习以及某些小问题的解决方法备忘 二 转载地址:

Android下使用pull解析器生成XML文件、读取XML文件 Android下使用Pull解析器1,Pull解析器的运行方式与SAX解析器相似。它提供了类似的事件,如:开始元素和结束元素事件。2,使用parser.next()可以进入下一

安卓学习3-布局管理-LinearLayout API地址:

标签: 安卓xml存储方式

本文链接地址:https://www.jiuchutong.com/biancheng/385126.html 转载请保留说明!

上一篇:Android源代码分析要看这18本书(安卓源代码开放吗)

下一篇:android NDk初步学习以及某些小问题的解决方法备忘 二(android studio ndk开发教程)

  • 纳税人与负税人一致的是
  • 纯外贸出口企业出售固定
  • 权责发生制根据产品的生产特点和管理要求结转成本
  • 公司注销,账务怎么处理
  • 上个季度财务报表已申报,可以更正吗
  • 摊销广告费会计分录
  • 车间用的电线计入什么科目
  • 营改增之后建筑企业哪些税可以抵扣
  • 缴交社保基金会计分录怎么写?
  • 合并报表时存货怎么处理
  • 发票税表抵扣了账务未抵扣账务处理怎么做?
  • 用白纸写的收据怎么入帐?
  • 企业注销递延所得税资产怎么处理
  • 工程完成投资入什么科目核算与怎么写其会计分录?
  • 未分配利润转出
  • 单位房子没有房产证能不能买
  • 税务局每年都会查我公司虚开发票
  • 增值税专票给客户的是第几联
  • 个税前几个月没有工资,累计减除费用会累计吗
  • 筹备期间的开办企业是指
  • 无形资产管理费用不计入
  • 其他专项收入怎么做账
  • 未缴少缴税款追征期
  • 未担保余值什么意思
  • 企业福利费支出范围
  • 固定资产的折旧是什么意思
  • 暂存款借方余额
  • 苹果手机清理内存怎么清理微信内存
  • PHP:mb_detect_order()的用法_mbstring函数
  • 发票开出后对方不付款
  • 股票涨幅公式怎么写
  • 医院装修设计费一般多少钱一平方
  • 增值税专票如何查询对方是否抵扣
  • 最小的成像传感器
  • vue打包成一个文件
  • vue做项目的流程
  • 深度学习部署(十九): CUDA RunTime API YOLOV5后处理cpu解码以及gpu解码
  • kaldi官网
  • mkfifo命令
  • 持有期间公允价值变动的科目归属
  • 开票软件是什么名字
  • 在pycharm中配置python
  • 旅游费怎么记账
  • 帝国cms登录
  • 金融企业往来支出科目属于什么科目
  • sqlserver2012安装好了桌面没有图标
  • sql模糊查询的关键字是什么
  • mongodb查询操作
  • sql聚合语句
  • 利息收入计入科目
  • 物流货损怎样处理
  • 员工垫付费用怎么做账
  • 派发股利政策
  • 个税起征点调整最新消息
  • 发给客户的红包是什么费用
  • 小规模纳税人进口货物增值税税率
  • 一般纳税人的服务费税率是多少
  • 来料加工账务处理流程
  • 普票冲红需要收回原来的发票吗
  • 信托保障基金会返还吗
  • 按预测范围不同划分为以下几类
  • 可以先注销银行信用卡吗
  • sql server 字符串操作
  • linux系统vim编辑readonly option
  • 怎样提升win10开机速度
  • xp系统删除文件反应很慢
  • linux开机启动过程图解
  • 一岁的宝宝可以喝枸杞水吗
  • win10开机cpu占用率100%
  • servers.mcs
  • 扫描仪在哪儿
  • opengl 渲染yuv
  • Activity的四种启动模式和onNewIntent()
  • jsgenerator
  • js过滤html代码
  • python3 split()
  • 办理对外支付税务备案需要多久时间
  • 江苏税务ukey怎么申请
  • 青海税务app
  • 税务筹划怎么样
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设