admin 管理员组

文章数量: 1086019


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 把图片•不按比例

本文标签: 元素 布局 图片 例子 属性

更多相关文章

word文档插图片后与文字距离很大怎么办

3月前

1、问题2、解决方法,右键环绕文字,四周型

Win11不能拖拽图片到任务栏软件上快速打开怎么办

3月前

Win11不能拖拽图片到任务栏软件上快速打开怎么办?很多人知道原本Windows系统有个操作逻辑,就是当用户拖拽图片文件到任务栏上的软件图标上时,就可以快速运行这款软件来打开该图片,但是软件win11系统拖拽图片到任务栏上的时候,会有个禁止

[已解决]chatgpt被降智了怎么办?(无法联网、识别图片、文件、画图)

3月前

文章目录 1、治标办法一发图2、治本方法—使用ChatGPT中国区代理官方站点 1、治标办法一发图 该方法原本就有,但是在1.1日ChatGPT降智事件中突然失效。于1月11日,该方法又突然有效

有检查物理开关、使用注册表编辑器、使用磁盘属性、使用磁盘管理工具、格式化U盘、使用USBOOT程序、关闭U盘写保护开关等方法。

3月前

检查物理开关 有些U盘配备有物理写保护开关。如果您发现U盘被写保护,可以先检查U盘的外壳,看看是否有物理写保护开关。如果有的话,只需将开关移动到“解除写保护”的位置&

计算机属性打开自动关上,win10移动热点自动关闭怎么办 win10移动热点自动关闭解决方法...

3月前

win10移动热点自动关闭怎么回事?很多用户在使用win10系统的移动热点功能时,反应移动热点会出现自动关闭的情况,那win10移动热点自动关闭怎么回事呢&#xff0

Photoshop CS6打开图片后看不到怎么办

3月前

Photoshop CS6打开图片后看不到怎么办https:jingyan.baidualbum54b6b9c0d45c632d583b4793.html posted2018-11-05 11:02 酸奶加绿茶 阅读( .

几个将图片转换为PDF文件的免费工具

3月前

最近使用wps的pdf文档,想将扫描的几张图片生成pdf文件,结果发现需要交年费,想免费保存,那pdf文件会有恶心的水印。虽然明白厂家开发软件有成本&a

(2024新)6个超实用pdf转图片工具推荐,pdf转换新手必备

3月前

pdf如何转换成图片?在当今数字化办公时代,PDF文件作为一种广泛使用的文档格式,方便了信息的存储与共享。但是,有时我们需要将PDF文件中的内容转换为图

win7计算机属性恢复,win7怎么打开系统还原功能?win7打开系统还原功能的方法步骤...

3月前

运行雨林木风win7旗舰版64位系统经常会碰到一些棘手难以解决的问题,大家首先想到就是重装系统,其实不必那么麻烦,win7系统自带有系统还原功能,我们可

picview是哪里的图片_pic图片怎么打开 - 卡饭网

3月前

pic文件如何打开? pic文件如何打开? 那么pic文件怎么打开呢?我们可以使用一些常见的图片浏览器(如ACDSee)或者是图片处理软件(Photoshop)都可以打开pic文件!... 其他 20141221 raw格式图片怎么打开

“win+PrtSc”图片没有保存到图片文件夹中的问题

2月前

排除“win”键被软件禁用(某某游戏软件禁用“win”键防止误触)原因以外,还有一种可能: 这种情况往往在系统重置前备份过一次图片文件夹的数据&

html 图片下载浏览器默认会打开新页面预览图片解决方案

2月前

我们使用a标签下载图片的时候,浏览器默认会打开新窗口预览该图片,无法调用浏览器下载。 解决方案1:前端在a标签加入download指定图片下载,但是有

文件直接下载( 解决图片,视频点击下载的时候在浏览器默认是打开)

2月前

*href:下载的链接;downloadName:下载到本地的文件名*downloadFile(href, downloadName) > { const oadocument.createElement(a);

【写博客常用】Word文档粘贴图片显示不全怎么办

2月前

【写博客常用】Word文档粘贴图片显示不全怎么办 一、在word文档里插入一张图片,发现这个粘贴的图片只显示了一小部分,无法正常显示全图。 二、将鼠标光标点击至图片末端,然后

桌面计算机图标无法显示属性,Win7系统桌面图标显示异常的解决方法大全

2月前

win7桌面图标显示异常是我们操作电脑的过程中,一些误操作导致的,那么 首先我们要知道一个图标实际上是多张不同格式的图片的集合体,并且还包含了一定的透明区域。因为计算机操作系

在浏览器中禁止拖动元素打开新界面

1月前

在编写前端前端页面的过程中,使用a链接是避免不了的,但是有时候我们不希望通过拖拽a元素就打开新界面, 这是就可以在body标签内添加 οndragstart"re

手机微信浏览器调用图片放大功能

1月前

1、 引用微信的JS <script type"textjavascript" src"http:res.wx.qqopenjsjweixin-1.0.0.js"><

网页打开后,微信分享的时候,微信没抓到图片怎么办?

26天前

网页打开后&#xff0c;微信分享的时候&#xff0c;微信没抓到图片怎么办&#xff1f; 或者我们不想让微信随便抓&#xff0c;想有个默认的图片怎么办&#xff1f; 我们这边采用最简单粗暴的

保姆级教程:ABAP 通过 HTTP POST 调用 OData 服务创建业务数据的具体例子

24天前

笔者之前的文章 SAP ABAP Web Service 的创建与消费:保姆级教程发布之后,有朋友在评论区留言,询问 ABAP 除了 Web Service 之外,是否也支持 HTTP 呢? ABAP 这么强大的语言,支持 HTTP 当然

计算机显示不出来验证码,如何解决网页图片红叉显示不出来验证码图片没显示的电脑故障...

23天前

如何解决网页图片红叉显示不出来验证码图片没显示的电脑故障 打开网站后才发觉网页上的图片不能打开&#xff0c;有时候是图片位置出现红叉不显示&#xff0c;有些时候直接就是空白的框框&#xff0c;更严重的就是验证码

发表评论

全部评论 0
暂无评论