gpt4 book ai didi

android - 在 Canvas 上绘图时如何填充父对象

转载 作者:太空宇宙 更新时间:2023-11-03 13:35:46 26 4
gpt4 key购买 nike

我有一个自定义 View (android),它绘制一个自定义进度条。我想让进度条填满它的父 View (宽度)。我遇到的问题是我不知道自定义 View 如何获得其真正的​​限制。它需要知道宽度限制以便以正确的比例显示不同的颜色。我通过以下方式实现了 onMeasure():

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
setMeasuredDimension(widthMeasureSpec, 15);
}

然后,在我的 onDraw() 中,当我调用 getWidth() 时,我得到:1073742246。我如何知道真正的父边界?显然我在这里做错了…… View 布局参数设置为 MATCH_PARENT/FILL_PARENT,我可以在整个区域上绘制,但我不知道真正的宽度以便以正确的比例绘制条形。

谢谢,

诺姆

最佳答案

widthMeasureSpec 包括除以像素为单位的宽度以外的其他信息。看起来 onMeasure 正试图通过 MeasureSpec.EXACTLY 模式将 422px 作为宽度传递给您。

使用MeasureSpec.getSize(widthMeasureSpec);获取以像素为单位的实际宽度。更多详情请见http://developer.android.com/reference/android/view/View.MeasureSpec.html

关于android - 在 Canvas 上绘图时如何填充父对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7528383/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com