admin 管理员组文章数量: 1184232
2024年3月8日发(作者:fortify扫描是动态分析吗)
Android布局及布局属性
1、帧布局 FrameLayout:是最简单的一个布局对象。在他里面的的所有显示对象爱你过都将固定在屏幕的左上角,不能指定位置,但允许有多个显示对象,只是后一个会直接覆盖在前一个之上显示,会把前面的组件部分或全部挡住。下图的例子里,FrameLayout中放了3个ImageView组件,第一个是蓝色的,第二个是绿色的,第三个是树状图(透明的png格式)。ImageView就相当于Html中的img标签,接下来会讲到这个组件。
下面看一个FrameLayout的例子:
android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="/apk/res/android"> android:layout_width="wrap_content" android:layout_height="wrap_content"> android:layout_width="wrap_content" android:layout_height="wrap_content"> android:layout_width="wrap_content" android:layout_height="wrap_content">
2、线性布局 LinearLayout:
线性布局是所有布局中最常用的类之一,也是RadioGroup, TabWidget, TableLayout, TableRow,
ZoomControls类的父类。LinearLayout可以让它的子元素垂直或水平的方式排成一行(不设置方向的时候默认按照垂直方向排列)。
下面看一个LinearLayout的例子:别被例子的长度吓住,仔细看一下其实就是一个LinearLayout中放5个TextView标签而已,TextView相当于Html标签中的Label。
android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_horizontal" > android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="给小宝宝起个名字:" android:textSize="20px" android:textColor="#0ff" android:background="#333" /> android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="遥遥是男孩的小名" android:textSize="20px" android:textColor="#0f0" android:background="#eee" android:layout_weight="3" /> android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="瑶瑶是女孩的小名" android:textColor="#00f" android:textSize="20px" android:background="#ccc" android:layout_weight="1" /> android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="海因是男孩的大名" android:textColor="#f33" android:textSize="20px" android:background="#888" android:layout_weight="1" /> android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="海音是女孩的大名" android:textColor="#ff3" android:textSize="20px" android:background="#333" android:layout_weight="1" />
3、绝对布局 AbsoluteLayout
绝对定位AbsoluteLayout,又可以叫做坐标布局,可以直接指定子元素的绝对位置,这种布局简单直接,直观性强,但是由于手机屏幕尺寸差别比较大,使用绝对定位的适应性会比较差。
下面我们举一个例子看看:例子里的机器人图片大小是250X250,可以看到我们使用android:layout_x和android:layout_y来指定子元素的纵横坐标。
android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="/apk/res/android" android:background="#fff"> android:src="@drawable/android" android:layout_y="40dip" android:layout_width="wrap_content" android:layout_x="35dip" android:id="@+id/ImageView01" android:layout_height="wrap_content"> android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/TextView01" android:text="Android2.2 学习指南" android:textColor="#0f0" android:textSize="28dip" android:layout_y="330dip" android:layout_x="35dip"> android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/TextView02" android:text="图文并茂,理论清晰,操作性强" android:textColor="#333" android:textSize="18dip" android:layout_y="365dip" android:layout_x="35dip">
4、相对布局 RelativeLayout
相对布局 RelativeLayout 允许子元素指定它们相对于其父元素或兄弟元素的位置,这是实际布局中最常用的布局方式之一。它灵活性大很多,当然属性也多,操作难度也大,属性之间产生冲突的的可能性也大,使用相对布局时要多做些测试。
下面我们用相对布局再做一次上面的例子,首先放置一个图片,其它两个文本分别相对上一个元素定位:
android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#fff" xmlns:android="/apk/res/android"> android:src="@drawable/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="40dip" > android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/TextView01" android:text="Android2.2 学习指南" android:textColor="#0f0" android:textSize="28dip" android:layout_below="@id/ImageView01" android:layout_centerHorizontal="true" android:layout_marginTop="10dip"> android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/TextView02" android:text="图文并茂,理论清晰,操作性强" android:textColor="#333" android:textSize="18dip" android:layout_below="@id/TextView01" android:layout_centerHorizontal="true" android:layout_marginTop="5dip">
LinearLayout布局: 线性版面配置,在这个标签中,所有元件都是按由上到下的排队排成
的。
在这个界面中,我们应用了一个 LinearLayout的布局,它是垂直向下扩展的 ,所以创建的布局XML文件,以
android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > 节点作为开头。一个布局容器里可以包括0或多个布局容器。 解释一下LinearLayout中的标签: (1)android:orientation="vertical" 表示竖直方式对齐 (2)android:orientation="horizontal"表示水平方式对齐 (3)android:layout_width="fill_parent"定 义当前视图在屏幕上 可以消费的宽 度,fill_parent即填充整个屏幕。 (4)android:layout_height="wrap_content": 随着文字栏位的不同 而 改变这个视图的宽度或者高度。有点自动设置框度或者高度的意思 layout_weight默认值是零,用于给一个线性布局中的诸多视图的重要度赋值。比如说我们在 水平方向上有一个文本标签和两个文本编辑元素,该文本标签并无指定layout_weight值,所以它将占据需要提供的最少空间 ;如果两个文本编辑元素每一个的layout_weight值都设置为1, 则两者平分在父视图布局剩余的宽度(因为我们声明这两者的重要度相等)。如果两个文本编辑元素其中第一个的layout_weight值设置为1,而 第二个的设置为2,则剩余空间的三分之一分给第二个,三分之二分给第一个(正比划分)。(仅在LinearLayou中有效)。 RelativeLayout布局:允许子元素指定他们相对于其它元素或父元素的位置(通过ID指定)。 RelativeLayout用到的一些重要的属性: 第一类:属性值为true或false 仅RelativeLayout中有效 android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素的下边缘 android:layout_alignParentLeft 贴紧父元素的左边缘 android:layout_alignParentRight 贴紧父元素的右边缘 android:layout_alignParentTop 贴紧父元素的上边缘 android:layout_alignWithParentIfMissing 如果对应的兄弟元素找不到的话就以父元素做参照物 第二类:属性值必须为id的引用名“@id/id-name” 仅RelativeLayout中有效 android:layout_below 在某元素的下方 android:layout_above 在某元素的的上方 android:layout_toLeftOf 在某元素的左边 android:layout_toRightOf 在某元素的右边 android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐 android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐 android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐 android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐 第三类:属性值为具体的像素值,如30dip,40px (任何布局都有效) android:layout_marginBottom 离某元素底边缘的距离 android:layout_marginLeft 离某元素左边缘的距离 android:layout_marginRight 离某元素右边缘的距离 android:layout_marginTop 离某元素上边缘的距离 FrameLayout是最简单的一个布局对象:是一个框架布局样式,可以用include标签载入定 义的另一个layout文件,所有的子元素将会固定在屏幕的左上角;你不能为FrameLayout中的一个子元素指定一个位置。后一个子元素将会直接在前 一个子元素之上进行覆盖填充,把它们部份或全部挡住(除非后一个子元素是透明的)。 EditText的android:hint 设置EditText为空时输入框内的提示信息。 android:gravity android:gravity属性是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.以button为例,android:gravity="right"则button上面的文字靠右 android:layout_gravity android:layout_gravity是用来设置该view相对与起父view 的位置.比如一个button 在linearlayout里,你想把该button放在靠左、靠右等位置就可以通过该属性设置.以button为例,android:layout_gravity="right"则button靠右 android:layout_alignParentRight 使当前控件的右端和父控件的右端对齐。这里属性值只能为true或false,默认false。 android:scaleType: android:scaleType是控制图片如何resized/moved来匹对ImageView的size。ype / android:scaleType值的意义区别: CENTER /center 按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示 CENTER_CROP / centerCrop 按比例扩大图片的size居中显示,使得图片长(宽)等于或大于View的长(宽) CENTER_INSIDE / centerInside 将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/宽 FIT_CENTER / fitCenter 把图片按比例扩大/缩小到View的宽度,居中显示 FIT_END / fitEnd 把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置 FIT_START / fitStart 把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置 FIT_XY / fitXY 把图片•不按比例
版权声明:本文标题:Android布局及布局属性 内容由网友自发贡献,该文观点仅代表作者本人,
转载请联系作者并注明出处:http://www.roclinux.cn/b/1709845718a547905.html,
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
更多相关文章
Win10电脑连蓝牙耳机时的立体声无声问题,如何破解?
我是笔记本荣耀 MagicBook 16 Pro连接FreeBuds 4 只有hands free有声音而stereo没有查阅过网络资料都不行去荣耀授权点让你重装系统,无奈之下只好自己来了,这次集合我搜集到的所
专业杀毒,直面RavMon.exe挑战,让安全常伴左右
RavMon.exe是一个强制不显示系统的隐藏文件的 简单病毒,顽固且有备份,涉及到很多操作。网络安全课上的学习研究成果运行环境:Windows XP 病毒的特性:
不花钱也能享受高速网速:教你如何将电脑变成无线路由器
其实win7本身就自带无线热点的功能,按下面的方法设置。 开启windows 7的隐藏功能:虚拟WiFi和SoftAP(即虚拟无线AP),就可以让电脑变成无线路由器,实现共享上网,节省网费和路由器购买费。 以
彻底保护你的IE!一招防止恶意网址入侵
篡改IE默认主页是恶意网站和病毒惯用的手法,目的是为了增加其网站流量,并偷偷安装木马。下面告诉大家一个绝招,即使病毒修改了你的主页也没用,最后讲述清除恶意主页的办法。 首先在我的电脑里定位到IE安装目录:C:Program
轻松几步!让笔记本的WiFi信号也给台式电脑带来网络
问题关键词: Windows 7 无线上网 共享 台式机 设置 问题大致描述: 笔记本现在可以无线上网,怎么设置可以把网络通过网线对连共享给台式机 解决方法: 【Windows XP 设置方法】
不用复杂的设置,教你如何让笔记本的无线信号成为台式机的网线
问题关键词: Windows 7 无线上网 共享 台式机 设置 问题大致描述: 笔记本现在可以无线上网,怎么设置可以把网络通过网线对连共享给台式机 解决方法: 【Windows XP 设置方法】
Win11系统IP配置大揭秘,轻松搞定IP设置
说明:由于项目开发的需要,有时候要更改主机的ip地址来进行测试或进行合作开发,以下是修改主机ip地址的步骤。 1、选择此电脑(我的电脑),右击选择属性,进入如下面板选择网络与Internet,接着点击
轻松上手Linux系统:通过Arch学习如何制作与刻录ISO文件
linux下制作ISO文件有几种方法,分别如下:1,从光盘中制作ISO文件cp devcdrom 路径ISO 文件名例子:cp devcdrom optmycd.iso,也可以用 dd
Linux ISO大揭秘:Isoslot帮你快速构建系统安装盘。
linux下制作ISO文件有几种方法,分别如下:1,从光盘中制作ISO文件cp devcdrom 路径ISO 文件名例子:cp devcdrom optmycd.iso,也可以用 dd
Win7关机总是闹脾气?这篇攻略教你一招制胜!
1.到系统的设备管理器,选择网络适配器,选择你的网卡右键属性,在高级里把唤醒功能和网络唤醒的值设成 无 2. 关闭系统发生错误时电脑自动重启的设置,鼠标右键点击“我的电脑”——》选择“属性”——》在
Windows XP新手必学:轻松定制你的任务栏外观
1、在XP系统的任务栏属性里,开启显示“快速启动栏”鼠标右击电脑桌面底部的“任务栏”–》属性—》勾选√“显示快速启动” 2、点击桌面左下角的“开始”–》运行–》输入: regsvr32 n i:u shell3
Adobe Flash Player背后的家庭网络设置暗语,你懂多少?详解配置秘籍!
一、设备:买一个路由器,如TP-LINK(TL-R402M)90元左右,有一个WAN口和四个LAN口,另加上两条的两端都钳有水晶头的网线。 二、接法:把插到台式机的网线水晶头(另一端已接ADSL的)的接到路由器的WAN口上,用
家庭网络新手必读:路由器设置全攻略
一、设备:买一个路由器,如TP-LINK(TL-R402M)90元左右,有一个WAN口和四个LAN口,另加上两条的两端都钳有水晶头的网线。 二、接法:把插到台式机的网线水晶头(另一端已接ADSL的)的接到路由器的WAN口上,用
SWF的秘密:深度解析Flash动画制作
制面板大全在程序运行过程中启动控制面板的各个设置功能:var x:cardinal;begin{启动控制面板}x:=winexec('rundll32.exe shell32.dll,Con
宽带连接屡遭651?全面解析问题根源,轻松破解故障!
我们日常使用网络的过程中有时候如果出现提示宽带连接错误651的提示,那么这个是什么原因你,其实宽带连接错误651为调制解调器(modem)发出的错误报告,一般情况下是未找到指定的端口。接下来我们来看看如何解决:
轻松管理你的网络流量:限制Flash内容的使用篇
注:以下内容转自不同的电脑教程第一章:WINXP全攻略一、优化启动设置(适用于家用版及专业版)1."我的电脑"->"属性"->"高级"
新手也能上手!Android 13 Launcher3 主页布局深度解析与修改技巧
修改主页布局 概述 在 Android 操作系统中,Launcher (主页应用)是用户与设备交互的核心界面之一,它负责 显示应用程序列表、提供快捷方式、管理小部件等功能。其中,Launch
释放你的电脑潜能:一招解决Adobe Flash Player中的垃圾问题
1、手动清理 (1)打开资源管理器,右键-属性,点击“磁盘清理”,然后选中要清理的文件,点击确定即可; (2)对于一些软件的卸载残留,可以打开注册表,找到各目录下的software子目录,从里面找那些你已经卸载过的软件
桌面图标下面的阴影怎么去掉
电脑|属性|高级|性能项的 设置|自定义|在桌面上为图标标签使用阴影|打上勾|如果不行,再在桌面空白处右击|排列图标|在桌面上锁定web项目|把勾去掉可以尝试以下4种方法:1.右击“我的电脑”,依次
如何利用192.168.1.1优化你的家庭网络体验
虽然前面小编也发布过关于的相关信息,但是都是解释相关的问题的,没有好好介绍关于的信息,今天小编星期八就给大家介绍一下的详细信息! 是什么? 192.168.0.1属于IP地址的
发表评论