`
OliveExcel
  • 浏览: 71765 次
文章分类
社区版块
存档分类
最新评论

Android在绘制View之前计算其高度 / 宽度

阅读更多

一般来说, View是需要在绘制到界面之后才能取到它的宽度 / 高度.

如果需要在绘制之前就取到这些值, 则需要主动调用View的measure方法, 来提前计算其尺寸. 如下:

final DisplayMetrics dm = mContext.getResources().getDisplayMetrics();
viewToMeasure.measure(
        View.MeasureSpec.makeMeasureSpec(dm.widthPixels, View.MeasureSpec.AT_MOST),
        View.MeasureSpec.makeMeasureSpec(dm.heightPixels, View.MeasureSpec.AT_MOST));

final int width = viewToMeasure.getMeasuredWidth();
final int height = view.getMeasuredHeight();

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    在android里面通过view画线

    在Android开发中,View是构建用户界面的基本元素。利用View,开发者可以自定义各种复杂的UI组件,其中之一就是画线。本篇文章将详细讲解如何在Android的View中实现画线功能,以此来创建一个简单的画线练习作品。 ...

    Android 自定义View绘制居中文本

    对于水平居中,这个位置是View宽度的一半减去文本宽度的一半;对于垂直居中,是View高度的一半减去文本高度的一半(注意,文本高度需要考虑基线偏移)。 3. **绘制文本**:在`onDraw()`方法中,使用`canvas....

    Android利用View绘制饼状图,折线图,柱状图等

    同样,我们自定义一个View,在`onDraw()`方法中根据数据计算每个柱子的宽度和高度。使用`Canvas`的`drawRect()`方法绘制矩形,`Paint`设置颜色和其他样式。若需要实现动态效果,可以添加动画来改变柱子的高度。此外...

    android曲线图的绘制

    在这个类中,重写`onDraw()`方法,这是Android系统调用来绘制View内容的地方。 2. **计算数据点**:在绘制曲线图之前,我们需要计算出曲线上的各个数据点。这可能涉及到对业务数据的处理,例如,根据数据范围和屏幕...

    Android中View绘制流程以及invalidate()

    开发者需要根据这些约束计算出View合适的宽度和高度,并通过`setMeasuredDimension()`设置。 2. **布局阶段(Layout)**:在测量阶段确定了大小后,接下来是确定位置。每个View会调用`onLayout()`方法,依据之前测量...

    自定义滑动按钮为例图文剖析Android自定义View绘制

    在这个方法中,开发者需要设定View的宽度和高度。对于非ViewGroup的自定义View,通常使用`setMeasuredDimension()`来设置尺寸。如果自定义的是ViewGroup,那么还需要测量并设置所有子View的大小。 2. `onLayout()`...

    13问13答全面学习Android View绘制

    例如,若在布局文件中使用了动态计算宽度或高度,或者在`onLayout`方法中修改了尺寸,它们就会产生差异。 3. **measureSpec的决定**:measureSpec是由View自身的`LayoutParams`和其父容器共同决定的。对于顶级View...

    Android自定义View基本绘制流程及实例

    测量阶段是确定View所需空间的过程,通过`onMeasure()`方法实现,需要调用`setMeasuredDimension()`来设定宽度和高度。布局阶段由`onLayout()`方法处理,确定View在父View中的位置。最后,绘制阶段在`onDraw()`方法...

    android绘图-sin曲线绘制

    在上述代码中,我们首先在onDraw()方法中获取到View的宽度和高度,然后设置画笔颜色和样式。接着,计算每个x坐标对应sin值的步长,通过遍历x轴上的每一个点,计算对应的y值(这里是利用sin函数的性质),并用canvas....

    Android-Android自定义View之几何图形绘制

    我们需要重写`onDraw()`方法,这是Android系统绘制View时调用的关键方法。 在`onDraw()`方法中,我们使用Canvas对象进行绘图。Canvas提供了各种绘图操作,如画线、画圆、画矩形以及复杂的路径绘制。例如,要绘制一...

    android如何获取view在布局中的高度与宽度详解

    Android 获取 View 在布局中的高度与宽度详解 在 Android 开发中,获取 View 的宽度和高度是非常常见的需求。然而,很多开发者可能不知道如何正确地获取 View 的宽度和高度。今天,我们将详细介绍四种获取 View 在...

    Android的graphics绘制了印章图像

    在Android开发中,图形绘制是实现复杂用户界面和自定义视图的重要部分。"Android的graphics绘制了印章图像"这个示例项目展示了如何利用Android的图形API来创建一个印章图像。下面将详细介绍这个主题,包括Android...

    android代码中获取控件高,宽度并修改

    在`onMeasure()`方法中,每个View都会被测量其宽度和高度。开发者可以通过重写这个方法来获取控件的测量尺寸。例如,对于一个自定义View: ```java @Override protected void onMeasure(int widthMeasureSpec, ...

    android开发随声音大小变化的自定义view

    - 在XML布局文件中,将自定义View包含进来,指定其宽度、高度以及其他属性。 7. 在Activity或Fragment中初始化并使用: - 在代码中找到自定义View并绑定到布局,然后设置音频监听器,将接收到的音频数据传递给...

    Android自定义View实例:深度剖析 水晶/水滴 波浪球 实现步骤详解

    在Android中,可以利用`Path`对象来构建复杂的形状,比如水滴的曲线轮廓,然后使用`canvas.drawPath()`方法将其绘制到屏幕上。为了模拟水晶的透明感,可能还需要使用`PorterDuff`模式来混合颜色。 接下来是“波浪球...

    Android 自定义View实现时钟表盘效果

    在Android开发中,自定义View是一项重要的技能,它允许开发者创造出独特且富有创意的用户界面。本篇文章将探讨如何实现一个时钟表盘效果的自定义View,这涉及到图形绘制、时间更新机制以及动画效果等多个方面的知识...

    Android自定义View绘制几何图形

    // 重新绘制View,以便更新图形 return true; } ``` 在`MyCanvas`这个示例中,可能包含了实现以上功能的具体代码。通过查看并学习这个示例,你可以更好地理解如何在Android中自定义View并绘制几何图形。此外,还...

    【Android进阶】(2)2D绘制与控件绘制

    在Android开发中,2D绘制和控件绘制是构建用户界面不可或缺的部分。本文将深入探讨这一主题,结合源代码分析,帮助你提升Android应用的视觉表现力和交互性。 一、2D绘制基础 Android系统提供了丰富的API来支持2D...

    Android:自定义View实现随滑动由箭头变对勾的指示按钮

    在Android开发中,自定义View是一项重要的技能,它允许开发者根据设计需求创造出独特且具有交互性的用户界面元素。本篇文章将深入探讨如何实现一个名为"MagicButton"的自定义View,该按钮在用户滑动时能从箭头形态...

Global site tag (gtag.js) - Google Analytics