首页
学习
活动
专区
工具
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

如何在 elementary OS 中改变锁定和登录屏幕的壁纸

在 elementary OS 中改变锁屏或登录屏背景的灰色默认壁纸是有点困难的。典型的用图像文件的路径改变 greeter 的配置是行不通的。...不幸的是,这不是一个更简单的解决方案,因为灰色背景是一个图像文件,它的数据是硬编码在 greeter 中的,需要用新的图像重新编译才能使其发挥作用。...下面是方法: 改变 elementary OS 锁定和登录屏幕背景 在 elementary OS 中打开一个终端。...为 greeter 包安装 git 和以下依赖项: sudo apt install git sudo apt install -y gnome-settings-daemon libaccountsservice-dev...结束语 我希望本指南能帮助你在 elementary OS 中改变锁屏或登录屏的背景。老实说,在 2021 年改变登录屏的背景图像需要编译代码,这让我很吃惊。

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

    多少录友看到这个图,一脸茫然!

    首先,如果按照列来计算的话,宽度一定是1了,我们再把每一列的雨水的高度求出来就可以了。 可以看出每一列雨水的高度,取决于,该列 左侧最高的柱子和右侧最高的柱子中最矮的那个柱子的高度。...动态规划解法 在上一节的双指针解法中,我们可以看到只要记录左边柱子的最高高度 和 右边柱子的最高高度,就可以计算当前位置的雨水面积,这就是通过列来计算。...如果添加第二个5的时候就应该将第一个5的下标弹出,把第二个5添加到栈中。 因为我们要求宽度的时候 如果遇到相同高度的柱子,需要使用最右边的柱子来计算宽度。 如图所示: ?...长就是通过柱子的高度来计算,宽是通过柱子之间的下标来计算, 那么栈里有没有必要存一个pair类型的元素,保存柱子的高度和下标呢。...如果当前遍历的元素(柱子)高度小于栈顶元素的高度,就把这个元素加入栈中,因为栈里本来就要保持从小到大的顺序(从栈头到栈底)。

    35930

    Python可视化,matplotlib 入门最佳练习

    显然,我们需要在 axes 上添加图表各种细节,最重要的当然是数据: 行2:在 axes 中画柱状图(bar),第一个参数 x 轴使用 年份数据,第二个参数柱子高度使用 wheat 列数据 但是,图表看起来有问题...初学者难以入门 matplotlib 其中一个原因是,他的方法很多,很多时候你甚至不知道如何在网上查找。...用 plt.setp 方式,找到属性 figwidth ,显然这是"图纸"的宽度,于是可以这么写: 行4:set_figwidth 即可设置 怎么设置高度,不用我教了吧 做到这里,你应该会觉得任意使用一个可视化的库...原来,本身当我们调用 axes.bar 方法时,这个方法返回的就是这些小柱子: 显然,这是一个集合,我们需要修改其中的某几个柱子的颜色,老规矩查到属性: 现在只需要找到哪个是最小和最大值的柱子就行了...,因此当你使用其他风格时,可能会导致默认图表颜色改变的情况。

    1K30

    【Leetcode】接雨水(双指针、单调栈)

    题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。...提示: n == height.length 1 <= n <= 2 * 104 0 <= height[i] <= 105 双指针解法 思路: 假设每个宽度为1的柱子那里有一个高度未知的宽度为1的水桶...,这个水桶能接的水就是当前柱子所处位置能留下的雨水,而水桶的左边木板的高度取决于当前柱子左边所有的柱子中最高的那个柱子的高度,水桶右边木板的高度取决于当前柱子右边所有的柱子中最高的柱子的高度,而水桶左右木板中较小的那个木板的高度减去当前柱子的高度就是当前水桶能接到的水...每个水桶接的水的多少取决于当前柱子高度和 它左右区间中分别的最大的柱子高度中较小的那个柱子高度之差, 例如假设当前柱子高度为1,左边最大的柱子高度为3,右边最大柱子高度为...这里选择存下标,因为我们要求的是面积,存下标既可以得到凹槽的宽度,也可以得到凹槽的高度,而凹槽的高度是这个柱子左右两边第一个比它高的柱子的高度中较小的那一个减去它的高度, 对于栈顶元素和当前柱子的高度主要有三种情况

    16910

    【每日一题】42. Trapping Rain Water

    Example: Input: [0,1,0,2,1,0,1,3,2,1,2,1] Output: 6 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。...如果某根柱子可以盛水的话,必然是形成了“坑”,也就是说当前柱子的高度小于左边柱子的高度,也小于右边柱子的高度;如果我们可以知道每个柱子对应的左右高度,然后这两个高度取一个最小值,作为当前柱子如果可以形成...“坑”对应的高度;然后用这个高度和柱子高度做减法,得到当前的水量,累加即可得到最终的结果。...,作为最终的dp[i],然后判断dp[i]与当前柱子高度height[i]的大小,如果dp[i]高,说明形成了坑,计算当前柱子的盛水量,累加到结果中;遍历完成后,返回累加和即可。...,形成不了坑,继续执行;如果栈不为空,那么取出来的栈顶元素作为坑,计算新的栈顶元素和当前高度的较小值,作为坑的高度,坑的宽度等于当前元素下标和新的栈顶元素下标相减再减1,高度和宽度相乘,得到坑可以盛水的量

    25410

    抖音后端面试原题,15 分钟没做出来,直接挂了。。

    题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。...一个凹槽是由三个柱子围成的。(这里为了描述方便,我们把高度为 0 的柱子也当成存在的柱子) 对于这个凹槽来说,它的左侧和底部是由栈中挑选出来的,右侧是由新添加的柱子决定的。 什么情况会出现凹槽呢?...,我们就把当前的柱子加入到我们的栈中,让它和里面的柱子一起等待接下来的柱子。...如果新添加的柱子高度等于栈顶元素,也是无法形成凹槽的,我们就把当前的柱子加入到我们的栈中,让它和里面的柱子一起等待接下来的柱子。 一旦形成了凹槽,我们去计算它的面积。 面积由高和宽决定。...凹槽的高度是由 min(凹槽左边高度, 凹槽右边高度) - 凹槽底部高度 来计算的。 凹槽的宽度是由凹槽右边的下标 - 凹槽左边的下标 - 1(因为只求中间宽度)来计算的。

    26210

    接雨水的面积怎么求?

    一、题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。...一个凹槽是由三个柱子围成的。(这里为了描述方便,我们把高度为 0 的柱子也当成存在的柱子) 对于这个凹槽来说,它的左侧和底部是由栈中挑选出来的,右侧是由新添加的柱子决定的。 什么情况会出现凹槽呢?...,我们就把当前的柱子加入到我们的栈中,让它和里面的柱子一起等待接下来的柱子。...如果新添加的柱子高度等于栈顶元素,也是无法形成凹槽的,我们就把当前的柱子加入到我们的栈中,让它和里面的柱子一起等待接下来的柱子。 一旦形成了凹槽,我们去计算它的面积。 面积由高和宽决定。...凹槽的高度是由 min(凹槽左边高度, 凹槽右边高度) - 凹槽底部高度 来计算的。 凹槽的宽度是由凹槽右边的下标 - 凹槽左边的下标 - 1(因为只求中间宽度)来计算的。

    83410

    盛最多水的容器

    leetcode有一点好,不用写很多空值判断啥玩意的,这里n值和高度都是有效值,只考虑我们的思路就好了。 思路: 双指针法,每次保留较大值,知道左右边界相交判断完全部的值!...首先定义俩指针分别指向最左和最右的那个柱子。那么水的宽度是两根柱子之间的距离 d = 8d=8;水的高度取决于两根柱子之间较短的那个,即左边柱子的高度 h = 3h=3。...水的面积就是 3 * 8 =24。 那么如果选择固定一根柱子,另外一根变化,水的面积会有什么变化吗?稍加思考可得: 当前柱子是最两侧的柱子,水的宽度 dd 为最大,其他的组合,水的宽度都比这个小。...左边柱子较短,决定了水的高度为 3。如果移动左边的柱子,新的水面高度不确定,一定不会超过右边的柱子高度 7。...如果移动右边的柱子,新的水面高度一定不会超过左边的柱子高度 3,也就是不会超过现在的水面高度。

    21120

    ggplot2中的position参数解析

    ❝本节来回答一个老爷的问题,介绍常见绘图案例中几个基本参数的设置问题,主要用在柱状图与箱线图中。下面小编通过两个案例来进行展示,图形仅供展示用过程仅参考,希望各位观众老爷能够喜欢。...position_dodge(), position = "dodge"和position_dodge2()这三个参数,该系统参数都用于调整图层元素(如柱子或点)的位置,以避免重叠。...3. position_dodge2() 这是position_dodge()的一个扩展,提供了更多的控制,preserve= "single":保持每个单独的柱子的宽度不变,而不是整个组。...使用position="dodge"或position_dodge(),你会得到四个等宽的柱子(两个A=1和两个A=2),它们按B的水平分开。...使用position_dodge2(preserve="single"),如果A=1和A=2的柱子高度不同,那么A=1的两个柱子会比A=2的两个柱子更接近,因为它们的宽度被保留了。

    68430

    【 动作游戏 Flappy 】原生 JavaScript 做小游戏

    整个程序,主要分几个部分:全局设置和工具函数,pig类(控制猪的跳跃,掉落等),柱子类(渲染柱子,控制柱子移动),位置判断(判断pig有没有撞到柱子上),controller(控制器,初始化各个类,全局设置...这样就产生一个高度波浪形变化的柱子,配合上一定间隔的另一半柱子,整个障碍物就渲染完了。...4、判断有没有撞到 在上一步的h是需要记录下来的,因为上下的空隙高度是固定值,所以可以得到空隙上端和下端的位置(Y1和Y2),柱子移动的时候,可以知道柱子离pig的距离,柱子宽度是一定的,也可以知道pig...safeLift: 500, //地板高度(和图片有关) floorHeight: 64, //猪的宽度 pigWidth: 33...>', //柱子宽度 pillarWidth: 45, //柱子上下间隔高度 pillarGapY: 108, //柱子左右间隔宽度

    88660

    Leetcode | 第A节:数组综合题(1)

    那么它很明显受制于三个因素:左边的柱子高度,右边的柱子高度,和当前位置的高度。那么在这里,注意,左边的柱子高度,其实就是从这个位置出发,往左走,可以找到的最高的柱子高度。...对于这个问题,和Problem 3和4比较类似,本质上我们需要找到两根柱子,然后其宽度就是柱子所跨过的宽度,高度就是这中间经过的所有柱子中,高度最小的那一根。...这样的话,左右拓展所经过的柱子,高度都是 的,在这个情况下,就可以认为围起来的这个矩形的高度是 ,而宽度就是向左向右拓展可以达到的宽度。...因此解题的核心思路其实和上一题是一模一样的,差别仅仅落在了枚举的位置和方式上。具体来说,我们可以枚举每一列,根据每一列的左边的1的个数,来设置“高度”,而宽度也就是列所可以延伸的长度。...红色和蓝色对应的是选择不同列所画出的不同的柱状图。我们也在每一行分别标出了这里的“柱子”的高度(对应上一题来看)。

    50230

    Canvas 绘图技术:实现原生柱状图以及定制化开发特殊功能

    例如,绘制一个矩形的代码如下:ctx.fillRect(x, y, width, height);其中,x和y表示矩形的左上角坐标,width和height表示矩形的宽度和高度。...定时器每10毫秒执行一次,每次绘制柱状图时,根据当前的进度计算柱子的高度。通过清除画布和重新绘制坐标系和柱状图,实现动画效果。...柱状图的颜色默认情况下,Canvas绘制的矩形是黑色的,但是我们可以通过设置fillStyle属性来改变柱子的颜色。例如,设置柱子为红色的代码如下:ctx.fillStyle = "red";2....柱子样式除了颜色之外,我们还可以通过绘制图片或者使用渐变色来改变柱子的样式。...通过了解Canvas的基础知识和绘制柱状图的步骤,我们可以快速地实现一个简单的柱状图。同时,本文还介绍了如何根据需求进行定制化开发,例如改变柱子颜色和样式,添加鼠标交互效果以及绘制X,Y坐标。

    98662

    看傻了!竟然有不等宽柱形图?Excel就能做

    导读:用Excel做的柱形图,柱子的宽度都是相同的。而今天我们做的柱形图肯定可以让你的同事看傻,柱子的宽度却是不一样的!...这样不等宽的柱形图有什么用? 一般的柱形图只能对比一维数据,如不同产品的销量对比。而不等宽柱形图则可以对比二维数据,如上图中,宽度可以代表利润大小(柱子越宽利润越高),而高度则为销量。...制作不等宽柱形图有好几种方法,今天兰色分享的是最简单的一种。不需要任何公式就可以制作出漂亮的不等宽柱形图。 源数据: ? 01 数据表改造 根据利润的大小,按比例设置销量的重复行数。...如产品A利润30就重复3行,而产品C利润70则可以重复7行。另外产品要分列、错行排列。 ? 02 插入柱形图 ? 03 修改柱形图的系列间距 系列重叠:100% 间隙宽度:0% ?...04 添加数据标签 双击选取中间的柱子,添加数据标签 ?

    1.6K10

    LeetCode-84-柱状图中最大的矩形

    # LeetCode-84-柱状图中最大的矩形 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。...以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。 图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。...示例1: 输入: [2,1,5,6,2,3] 输出: 10 # 解题思路 方法1、暴力破解: 固定一个柱子的高度,往左和右寻找第一个高度小于当前柱子的柱体,向左和向右走的步数即是宽度 对于每个柱子,都计算一次以当前柱子为高度...,左右寻找位置为宽度围成的矩形面积,最后得到最大的面积即可 方法2、单调栈: 我们可以 O(1) 的获取柱体 i 左边第一个比它小的柱体吗?...答案就是单调增栈,因为对于栈中的柱体来说,栈中下一个柱体就是左边第一个高度小于自身的柱体。

    25520

    LeetCode-84-柱状图中最大的矩形

    # LeetCode-84-柱状图中最大的矩形 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能够勾勒出来的矩形的最大面积。...以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。 图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。...示例1: 输入: [2,1,5,6,2,3] 输出: 10 # 解题思路 方法1、暴力破解: 固定一个柱子的高度,往左和右寻找第一个高度小于当前柱子的柱体,向左和向右走的步数即是宽度 对于每个柱子,...都计算一次以当前柱子为高度,左右寻找位置为宽度围成的矩形面积,最后得到最大的面积即可 方法2、单调栈: 我们可以 O(1) 的获取柱体 i 左边第一个比它小的柱体吗?...答案就是单调增栈,因为对于栈中的柱体来说,栈中下一个柱体就是左边第一个高度小于自身的柱体。

    20010

    matplotlib基础绘图命令之bar

    除了这两个基本参数外,bar命令常用的还有以下参数 1. width, 柱子的宽度,即在x轴上的长度,默认是0.8 2. color, 柱子的填充色 3. edgecolor, 柱子边框的颜色,默认为None...4. linewidth, 柱子边框的宽度,默认为0,表示没有边框 5. yerr,指定误差值的大小, 用于在柱子上添加误差线 6. ecolor, 表示errorbar color, 误差线的颜色...1, 2, 3, 4], height = [4, 3, 2, 1], bottom = [4, 3, 2, 1], label = 'sampleB') plt.legend() 核心是通过将第一组柱子的高度作为第二组柱子的底部...·end· —如果喜欢,快分享给你的朋友们吧— 原创不易,欢迎收藏,点赞,转发!生信知识浩瀚如海,在生信学习的道路上,让我们一起并肩作战!...本公众号深耕耘生信领域多年,具有丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有需要的老师和同学前来咨询。

    90820

    详解单调栈算法

    柱状图中最大的矩形 给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1。 求在该柱状图中,能够勾勒出来的矩形的最大面积。...以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。 图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。...确定了作为矩形高度的柱子后,我们继续思考以该柱子为高所延伸的最大宽度有何特点?...假设当前柱子高度为 x x x,右边柱子的高度为 y y y,则当且仅当 x ≤ y x\leq y x≤y,矩形宽度才能向右延伸。...这是因为在最大面积矩形中,如果有若干个柱子的高度都等于矩形的高度,那么最左侧的那根柱子是可以求出正确的左边界的,因为其左边不再有与其高度相同的柱子。

    67120

    错的离谱!!!

    : # 【当前柱子】和【栈顶柱子】之间较小值,减去【低洼处高度】 d = min(height[stack[-1]], h...) - top # 凹槽宽度 # 【当前柱子】和【栈顶柱子】之间的下标差 w =...对应到单调栈模拟的过程中,在while循环执行完毕之后,如果发现此时栈中不存在任何元素,即len(stack) == 0,这意味着当前遍历到的柱子h,不会短于其左边的任何一根柱子,此时其右边可能会形成新的凹槽...# 凹槽宽度 # 【当前柱子】和【栈顶柱子】之间的下标差 w = i - stack[-1] - 1 # 更新面积area...,栈中不存在任何元素 # 说明此时没有比【当前柱子】更高的柱子 # 后续形成的凹槽肯定是一个新的凹槽,因此重置area为0 if len(stack) == 0:

    24140
    领券