ZNDS智能电视网 推荐当贝市场

TV应用下载 / 资源分享区

软件下载 | 游戏 | 讨论 | 电视计算器

综合交流 / 评测 / 活动区

交流区 | 测硬件 | 网站活动 | Z币中心

新手入门 / 进阶 / 社区互助

新手 | 你问我答 | 免费刷机救砖 | ROM固件

查看: 16804|回复: 0
上一主题 下一主题
[教程]

《Android Dev Guide》系列教程9:用户界面之声明布局

[复制链接]
跳转到指定楼层
楼主
发表于 2013-8-28 16:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
>  注意每个布局参数子类有自己的设置值的格式语法,每个子元素必须定义适合父view的布局参数,尽管他为自己的子view也定义了不同的布局参数。所有的viewGroup都包含了宽高属性,而且必须定义它们。很多布局参数也包含了可选的间隙参数和边界参数。你可以用精确的值来定义宽高,尽管你并不希望经常这样做。更多的时候,你会这样来定义:@ wrap_content 只占用所需要的尺寸@ fill_parent 占用父viewGroup可能的最大尺寸。(在API Level 8 里更名为 match_parent)通常, 不建议使用像素值来定义宽高值,我们经常用相对的单位,如与密度无关的像素单元(dp),或者warp_content或者fill_parent来代替,这样能确保你的程序能运行在大量不同尺寸的设备上。公认的测量类型在 Available Respurces 文档里被定义。   
view是一个矩形,每个view都有一个位置,包含x,y起始坐标和宽高来确定这个矩形的位置。位置和尺寸的单位是像素pixel。通过调用getLeft()和getTop()方法可以获得view 的位置,两个方法返回矩形的左上角的坐标xy。这些方法返回的是相对于父view的方位。比如,getLeft()返回20,那么他的右边距离父view左边有20个像素。此外,有很多方便的方法,都是为了减少不必要的计算,像getRight()和 getBOTTom()。(getRight()=getLeft()+getWidth())   
一个view的大小即他的宽高。一个view 实际上有两套高度宽度值。第一对值是我们都知道的measured width和measured 高度即测量宽度和测量高度。这组值定义了他们想在父view中有多大,通过 getMeasuredWidth() 和 getMeasuredHeight() 可以获得他们。第二组值为width和height,或者成为 drawing width 和drawing height。这组值定义了view再被绘制到屏幕后,在屏幕中的实际大小。这些值有可能会和第一组值大小不同。通过getWidth()和getHeight()方法可以获得。为了得到view 的实际尺寸,必须考虑到他的填充。padding属性表示view的左上右下的像素间隙。通过设置一些像素值,padding属性被用来填充视图内容周围。例如,把left padding 设置为2,则view左边 与其父view的左边会有2个像素的间隙。通过setPadding(int,int,int,int)方法和getPaddingLeft()getPaddingRight()getPaddingTop()getPaddingBotton()方法设置和获得。尽管一个view可以定义padding,但他不支持margins属性,但是viewGroup支持。参考 ViewGroup和ViewGroup.marginlayoutParams类来获得更多信息。   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

上一篇:《Android Dev Guide》系列教程10:用户界面之创建菜单
下一篇:《Android Dev Guide》系列教程8:用户界面
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|新帖|标签|软件|Sitemap|ZNDS智能电视网 ( 苏ICP备2023012627号 )

网络信息服务信用承诺书 | 增值电信业务经营许可证:苏B2-20221768 丨 苏公网安备 32011402011373号

GMT+8, 2025-4-28 02:08 , Processed in 0.059672 second(s), 15 queries , Redis On.

Powered by Discuz!

监督举报:report#znds.com (请将#替换为@)

© 2007-2025 ZNDS.Com

快速回复 返回顶部 返回列表