gpt4 book ai didi

android - 在带有位图的 LayerDrawable 上使用 setLayerInset 会产生意想不到的结果

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:50:18 28 4
gpt4 key购买 nike

我正在使用 LayerDrawable 将小点位图(“热点”)动态放置在大位图图像上。索引 0 处的图层包含大图像。图像上的点位置是根据大图像的百分比向我指定的。例如,我可能有一个热点,它应该距离大型基础图像的左侧 50%,距离顶部 75%。为了将点定位在图像的正确部分,我正在使用

setLayerInset(layer, leftOffset, topOffset, rightOffset, bottomOffset)

并根据包含 LayerDrawable 的 ImageView 的宽度和高度计算偏移量。我很高兴计算是正确的,并且正在检索正确的高度和宽度,并希望这些点能够正确显示,但事实并非如此。这些点沿 Y 轴倾斜并且它们的位置不正确(太高和太靠左)。有没有人遇到过类似的问题并找到了解决方案?

最佳答案

我花了一天半的时间研究这个,试图理解这些数字,这是我的发现:

在我正在处理的情况下,第一层包含一个 BitmapDrawable 并且我正在为后续层设置插图,调用中的偏移量:

setLayerInset(图层, leftOffset, topOffset, rightOffset, bottomOffset)

相对于第一层位图的尺寸,即使这些尺寸大于放置 DrawableLayer 的 View (例如,当位图被查看)。

奇怪和出乎意料,但却是真实的。希望这可以节省一些时间。

关于android - 在带有位图的 LayerDrawable 上使用 setLayerInset 会产生意想不到的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15568867/

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