gpt4 book ai didi

android - GradientDrawable 类的 innerRadiusRatio 和 thicknessRatio 之间存在什么样的联系?

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

假设我们有一个内径 R2 和外径 R1 的环。根据文档:环的内半径表示为环宽度的比率。例如,如果 innerRadiusRatio=9,则内半径等于环的宽度除以 9据我了解,这意味着 innerRadiusRatio = 2*R1/R2

关于 thicknessRatio 有:环的厚度表示为环宽度的比率。例如,如果 thicknessRatio=3,则厚度等于环的宽度除以 3。所以 thicknessRatio = 2*R1/(R1 - R2)

从这两个等式我们可以得到这个:thicknessRatio*(1-2/innerRadiusRatio)=2 这意味着 thicknessRatio 和 innerRadiusRatio 之间存在联系。但是GradientDrawable中没有关于这个连接的任何内容。类文档。而且它们之间似乎没有任何联系,因为我可以设置不满足最后一个方程的 thicknessRatio 和 innerRadiusRatio。

所以请告诉我我的考虑哪里错了,或者这个参数真正负责什么?

最佳答案

我知道这已经很晚了,但它可能会帮助其他人寻找这个。

在文档中它说:

Inner radius of the ring expressed as a ratio of the ring's width.

环的宽度不是环的半径,而是包含环的 View 的宽度。我画这个是为了更容易解释:

enter image description here

这是内部有环的 View 的方案。这些字母的意思是:

  • W:宽度
  • P:填充
  • Th:厚度
  • Ir:内半径。

我会补充:

  • R:半径。
  • IRR:InnerRadiusRatio。
  • THR:ThicknesRatio。

文档实际上描述了如下关系:

  • Ir = W/IRR
  • Th = W/THR

所以你实际上可以计算出半径。

  • R = Ir + Th = W (1/IRR + 1/THR)。

您可以通过创建一个具有 Ring 的 View 来证明这一点:

InnerRadiusRatio="4"
ThicknessRatio="4".

这将创建一个与 View 宽度完全相同的环。

注意:所有前面的公式都是在没有填充的情况下计算的。如果 View 上有填充,则应将每个 W 替换为 (W - P)。

关于android - GradientDrawable 类的 innerRadiusRatio 和 thicknessRatio 之间存在什么样的联系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7892169/

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