首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在onCreate中获取View的高度和宽度

如何在onCreate中获取View的高度和宽度 在开发过程中经常需要获取到View的宽和高,可以通过View.getWidth()和View.getHeight()来得到宽高。...然而新手们经常在onCreate方法中直接调用上面两个方法得到的值是0! 这是为什么呢? 因为View绘制是通过两个遍历来完成的,一个measure过程,一个layout过程。...只有经过“测量”和“布局”之后,View才能正确地完成绘制。而这一切是发生在onCreate方法之后的。...所以在onCreate中直接使用View.getWidth()和View.getHeight()是无法得到正确的值的。 那应该怎么onCreate中获取View的宽高呢?...开发者可以通过View.post()方法来获取到View的宽高,该方法传递一个Runnable参数,然后将其添加到消息队列中,最后在UI线程中执行。

5.3K20

关于拖拽功能在IE11 、Firefox和Safari中不兼容的问题

) 3是firefox在拖动的时候会打开一个新窗口 (firbox) 4是ie11不支持onclick属性方法 ; ie11 里元素对象的attributes的排序和其他浏览器不同, ie11 中...remove()方法不work (ie) 对于原因1的解决方案 其中IE11 压根就不支持path属性,firefox和Safari还勉强通过hack的方式获取到path,获取方式如下: const...对于原因2的解决方案 IE11, firefox 都有dataTransfer.setData的问题, Safari没有可以不用管。...的属性排序和其他浏览器不同,会引起bug。...解决这个问题 ,我是通过遍历attributes 找到符合我要的代替之前的写死的attributes顺序 针对ie11 remove()不work的情况,可以用代码 parent.removeChild

3.4K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    HTML

    认识网页 网页主要由文字、图像和超链接等元素构成。当然,除了这些元素,网页中还可以包含音频、视频以及Flash等。 网页是如何形成的呢?...代码->浏览器渲染->实际页面 常见浏览器内核介绍 浏览器是网页运行的平台,常用的浏览器有IE、火狐(Firefox)、谷歌(Chrome)、Safari和Opera等。我们平时称为五大浏览器。...最开始渲染引擎和 JS 引擎并没有区分的很明确,后来 JS 引擎越来越独立,内核就倾向于只指渲染引擎。有一个网页标准计划小组制作了一个 ACID 来测试引擎的兼容性和性能。...-title:鼠标悬停时显示的内容 -width:设置图像的宽度(默认单位:像素) -height:设置图像的高度(默认单位:像素) -border:设置图像边框的宽度 链接标签 作用:用于链接跳转...设置单元格内容与单元格之间的间距 width 设置宽度(默认单位:像素) height 设置高度(默认单位:像素) align 水平对齐方式

    1.4K21

    HTML 基础语法

    )、Safari和Opera等。...认识网页 网页主要由文字、图像和超链接等元素构成。当然,除了这些元素,网页中还可以包含音频、视频以及Flash等。 网页是如何形成的呢?...代码->浏览器渲染->实际页面 常见浏览器内核介绍 浏览器是网页运行的平台,常用的浏览器有IE、火狐(Firefox)、谷歌(Chrome)、Safari和Opera等。我们平时称为五大浏览器。...最开始渲染引擎和 JS 引擎并没有区分的很明确,后来 JS 引擎越来越独立,内核就倾向于只指渲染引擎。有一个网页标准计划小组制作了一个 ACID 来测试引擎的兼容性和性能。...-title:鼠标悬停时显示的内容 -width:设置图像的宽度(默认单位:像素) -height:设置图像的高度(默认单位:像素) -border:设置图像边框的宽度 链接标签 作用:用于链接跳转

    1.8K41

    【本周主题】第二期:浏览器组成及工作原理深度了解

    用户界面 包括地址栏、后退/前进按钮、书签目录等,也就是你所看到的除了用来显示你所请求页面的主窗口之外的其他部分 2. 浏览器引擎 用来查询及操作渲染引擎的接口 3....内核分为两个部分: 1、渲染引擎 作用是:负责获取网页内容(html、图像)、整理消息、计算网页显示方式、输出到显示器这些工作 渲染引擎内含: html解释器:将html文本解析成dom树(文档对象模型...三、WebKit内核(Safari内核,Chrome内核原型,开源)其实 Chromium 就是 WebKit 代表作品Safari、Chromewebkit 是一个开源项目,包含了来自KDE项目和苹果公司的一些组件...缺点是对网页代码的兼容性不高,导致一些编写不标准的网页无法正常显示。主要代表作品有Safari和Google的浏览器Chrome。...根据渲染原理、提高网页加载速度的建议: 合并、压缩js、css 减少dns寻址(少请求) 或者将图片分散到不同的域名存储 使用缓存 尽量避免css表达式 图片增加宽度和高度(不然每次要自动计算) css

    1.3K50

    彻底搞懂移动Web开发中的viewport与跨屏适配

    维基百科①的解释为: 在计算机图形学理论中,当将一些对象渲染到图像时,存在两个类似区域的相关概念。(视口和窗口) 视口是一个以特定于渲染设备的坐标表示的区域(通常为矩形)。...白话描述一下: ●计算机把图像渲染到显示器的过程中,会先把图像画在一个逻辑层的画布上,然后从这个画布中框选一部分,将其投影到显示层。 ●这个选框就是视口,显示层就是窗口。...Q此处插入两个问题: 1、本 rem 方案中,是否可以不设置 viewport 的宽度?...举个例子,750px 的 UI 稿中,宽度 75px 的按钮,在 css 中的宽度描述即为:width:10vw。 其他技术细节同 6.2.2,这里不再做更多阐述。...6.2.2 - 1 “本 rem 方案中,是否可以不设置 viewport 的宽度?”

    3.4K20

    【适配】425- 彻底搞懂移动Web开发中的viewport与跨屏适配

    维基百科①的解释为: 在计算机图形学理论中,当将一些对象渲染到图像时,存在两个类似区域的相关概念。(视口和窗口) 视口是一个以特定于渲染设备的坐标表示的区域(通常为矩形)。...白话描述一下: ●计算机把图像渲染到显示器的过程中,会先把图像画在一个逻辑层的画布上,然后从这个画布中框选一部分,将其投影到显示层。 ●这个选框就是视口,显示层就是窗口。...Q此处插入两个问题: 1、本 rem 方案中,是否可以不设置 viewport 的宽度?...举个例子,750px 的 UI 稿中,宽度 75px 的按钮,在 css 中的宽度描述即为:width:10vw。 其他技术细节同 6.2.2,这里不再做更多阐述。...6.2.2 - 1 “本 rem 方案中,是否可以不设置 viewport 的宽度?”

    3.1K30

    小智在这3年开发中遇到的 CSS 问题及解决方案,有大佬帮他总结好了 !

    1.重置button和input元素的背景 添加一个按钮时,重置它的背景,否则它会在不同的浏览器中看起来不同。...在下面的例子中,同样的按钮在 Chrome 和 Safari 中,后者添加了默认的灰色背景。 ?...简而言之,auto-fill将在不扩展列宽的情况下对列进行排列,而auto-fit只会在列为空的情况下将列折叠到零宽度。 8....使用 CSS grid 定义 main 和 aside 元素 CSS grid 常规布局中 main 和 aside 部分,为了让布局更加的完美,我们应该让 aside 高度等于 main 高度,即使...压缩或拉伸图像 在CSS中调整图像大小时,如果宽高比与图像的宽度和高度不一致,则可能会对其进行压缩或拉伸。

    3.7K10

    移动Web学习笔记

    -webkit-text-size-adjust: 100% 解释:在 Chrome 浏览器中只能设置大于或等于 12px 的字体大小,当设置了小于 12px 的字体大小时,浏览器按照 12px 的字体大小渲染字体...5. rel=”apple-touch-icon” 解释:在iPhone, iPad上的safari浏览器中有个将网站添加到主屏幕上的按钮,当网站设置了rel=”apple-touch-icon属性...在移动设备开发过程中我们通常会对文本框定义为宽度100%,将其定义为块级元素以实现全屏自适应的样式,但此时你会发现,该元素的边框(左右)各1个像素会溢了文档,导致出现横向滚动条,为解决这一问题,我们可以为其添加一个特殊的样式...有关字体平滑的介绍可参考字体渲染一文,目前该属性已从W3C标准中移除,慎用! 其属性值antialiased表示使用灰阶平滑 15....-webkit-appearance: none 解释:-webkit-appearance用于改变按钮和其他控件的外观,使其类似于原生控件,其属性值none用于去除系统默认appearance的样式,

    1K30

    JavaScript是如何工作的:渲染引擎和优化其性能的技巧

    渲染引擎概述 渲染引擎的职责就是渲染,即在浏览器窗口中显示所请求的内容。 渲染引擎可以显示 HTML 和 XML 文档和图像。如果使用其他插件,渲染引擎还可以显示不同类型的文档,如 PDF。...以下是一些最受欢迎的: Gecko — Firefox WebKit — Safari Blink — Chrome,Opera (版本 15 之后) Firefox、Chrome 和 Safari...是基于两种渲染引擎构建的,Firefox 使用 Geoko——Mozilla 自主研发的渲染引擎,Safari 和 Chrome 都使用 Webkit。...每个渲染器代表一个矩形区域,通常对应于一个节点的 CSS 盒模型。它包含几何信息,例如宽度、高度和位置。 渲染树的布局 创建渲染器并将其添加到树中时,它没有位置和大小,计算这些值称为布局。...对宽度、高度、左、顶等属性的更改,以及通常与几何相关的属性的更改,都需要布局。所以,尽量避免改变它们。 尽量使用 flexbox 而不是老的布局模型。

    1.6K30

    最近遇到的兼容性问题和适配问题

    : 1、Safari中min-width: unset无效:   解决方法: min-width: 900px; ......unset,但是会当做无效值覆盖之前的min-width,而在Safari5中,会当做无效的代码,元素会保持原来的min-width。...2、IOS9中光标定位问题:   在Vue2.4版本以下,nextTick实现是以MO和Promise为优先的策略,(MO和Promise都为MicroTask,优先执行)   当一个input值改变事件如有有...Watcher监听,并且在Watcher触发了另外的DOM元素重绘,多次重绘会导致input框的渲染不生效   解决方法:     1、把可能影响DOM的渲染domtask放入下一个MacroTask,...这样就会等到input渲染完毕再执行domtask     2、升级Vue至最新版本,最新版本中nextTick在WacherDOM的onXXX事件时,优先以MacroTask执行       watcher

    1.6K90

    移动web开发需要注意的二十点

    1:1,并且文档最大的宽度比例是1.0,且不允许用户点击屏幕放大浏览; 第二个meta标签是iphone设备中的safari私有meta标签,它表示:允许全屏模式浏览; 第三个meta标签也是iphone...因为在触控手机上,为提升用户体验,尽可能的保证用户的可点击区域较大。 6、自适应布局模式 在编写CSS时,不建议前端工程师把容器(不管是外层容器还是内层)的宽度定死。...我们可以利用一句简单的javascript代码来实现这个效果 setTimeout(scrollTo,0,0,0); 请注意,这句代码必须放在window.onload里才能够正常的工作,而且你的当前文档的内容高度必须是高于窗口的高度时...20、如何解决iOS 4.3版本中safari对页面中5位数字的自动识别和自动添加样式 新的iOS系统也就是4.3版本,升级后对safari造成了一个bug:即使你添加了如下的meta标签,safari...仍然会对页面中的5位连续的数字进行自动识别,并且将其重新渲染样式,也就是说你的css对该标签是无效的。

    1.9K20

    开发 | 小程序也能像朋友圈一样「折叠全文」?有了这个技巧就能做!

    所谓「文本过长」,就是文本占据屏幕的高度太大。之所以要判断这个,是为了能告知逻辑层控制「全文」按钮的展示与切换。 当然,如果你的小程序没这个交互情况,完全可忽略这个问题。...判断文本过长的最直接方法,是文本行数超过某个值。在浏览器端,可通过 DOM 获取容器高度和文本的行高,来计算文本显示的行数。 但在小程序中,微信并没有给 JS 访问文本行数或组件高度的接口。...至于多少字符算过长,可综合容器宽度、字符(中文字符会占两个英文字符宽度)、字体、字号,和设计师确认。 但显然这种做法还有问题。...一个简单的思路是,用行高算出一个固定的高度,只显示前几行,但该做法过于依赖样式的实现、不利于维护。 在小程序中,我们可采用移动端页面开发中一个 hack 技术:-webkit-line-clamp。...而微信小程序的 View 渲染引擎 WKWebView 和 X5 也都是从 Webkit 改过来的,兼容性有较好的保障。

    1.5K50

    HTML基础入门

    ,Safari,Opera   老师经常说的,不用Chrome浏览器,都不好意思说是程序员   2,浏览器内核   内核:可大概为“渲染引擎”,不过我们一般习惯将之称为‘浏览器内核’。...Firefox   Webkit:Safari   Blink:Chrome ,Opera   不同的内核在渲染同一内容的时候会有差别   二、HTML基础知识   1,什么是HTML   HTML:超级文本标记语言...标签(最常用的),没有语义的标签 div布局标签 在页面上单独独占一行,如果不设置宽度,默认占一行,通常作为容器布局的时候使用 span标签 一行可以放多个,显示大小由内容决定   4,img标签 的宽度 width 表格的高度 height 表格的高度 cellspacing 边框之间的间歇...,注意和id的区别 value:表单提交时对应项的值   button,reset,submit时,value为按钮上显示的文本内容   text,password,hidden时,value为输入框的初始值

    1.3K42

    Flexbox在表单布局的应用

    ()和一个按钮()。...上图中,按钮的宽度没变,但是输入框变宽了,等于当前行的宽度减去按钮的宽度。 flex-grow属性默认等于0,即使用本来的宽度,不拉伸。等于1时,就表示该项目宽度拉伸,占据当前行的所有剩余宽度。...上图中,按钮变高了,输入框也自动变得一样高了! 前面说过,弹性布局默认不改变项目的宽度,但是它默认改变项目的高度。如果项目没有显式指定高度,就将占据容器的所有高度。...本例中,按钮变高了,导致表单元素也变高了,使得输入框的高度自动拉伸了。 align-self属性可以改变这种行为。...flex-start:顶边对齐,高度不拉伸 flex-end:底边对齐,高度不拉伸 center:居中,高度不拉伸 stretch:默认值,高度自动拉伸 如果项目很多,一个个地设置align-self属性就很麻烦

    1K20

    Flexbox 布局的最简单表单

    ()和一个按钮()。...上图中,按钮的宽度没变,但是输入框变宽了,等于当前行的宽度减去按钮的宽度。 flex-grow属性默认等于0,即使用本来的宽度,不拉伸。等于1时,就表示该项目宽度拉伸,占据当前行的所有剩余宽度。...上图中,按钮变高了,输入框也自动变得一样高了! 前面说过,弹性布局默认不改变项目的宽度,但是它默认改变项目的高度。如果项目没有显式指定高度,就将占据容器的所有高度。...本例中,按钮变高了,导致表单元素也变高了,使得输入框的高度自动拉伸了。 align-items属性可以改变这种行为。...flex-start:顶边对齐,高度不拉伸 flex-end:底边对齐,高度不拉伸 center:居中,高度不拉伸 stretch:默认值,高度自动拉伸 (完)

    1.6K20

    WEBAPP开发技巧总结

    1:1,并且文档最大的宽度比例是1.0,且不允许用户点击屏幕放大浏览; 第二个meta标签是iphone设备中的safari私有meta标签,它表示:允许全屏模式浏览; 第三个meta标签也是iphone...因为在触控手机上,为提升用户体验,尽可能的保证用户的可点击区域较大。 6、自适应布局模式 在编写CSS时,我不建议前端工程师把容器(不管是外层容器还是内层)的宽度定死。...我们可以利用一句简单的javascript代码来实现这个效果 1 setTimeout(scrollTo,0,0,0); 请注意,这句代码必须放在window.onload里才能够正常的工作,而且你的当前文档的内容高度必须是高于窗口的高度时...20、如何解决iOS 4.3版本中safari对页面中5位数字的自动识别和自动添加样式 新的iOS系统也就是4.3版本,升级后对safari造成了一个bug:即使你添加了如下的meta标签,safari...仍然会对页面中的5位连续的数字进行自动识别,并且将其重新渲染样式,也就是说你的css对该标签是无效的。

    2K20

    图片和文字展示时也有是坐标系的呦!

    ,每天任何时间任何地点几乎都能看到它们,在接触过程中你没有想过它们是如何展示的,特别是在网页中是如何渲染的?...被剪切图像的宽度。 sheight 可选。被剪切图像的高度。 x 在画布上放置图像的 x 坐标位置。 y 在画布上放置图像的 y 坐标位置。 width 可选。要使用的图像的宽度。...(伸展或缩小图像) height 可选。要使用的图像的高度。...caption 使用标题控件的字体(比如按钮、下拉列表等)。 icon 使用用于标记图标的字体。 menu 使用用于菜单中的字体(下拉列表和菜单列表)。...caption使用标题控件的字体(比如按钮、下拉列表等)。icon使用用于标记图标的字体。menu使用用于菜单中的字体(下拉列表和菜单列表)。message-box使用用于对话框中的字体。

    87110
    领券