【问题标题】:How to calculate percent of width programmatically Android?如何以编程方式计算宽度的百分比Android?
【发布时间】:2022-02-03 16:12:45
【问题描述】:

例如,我的屏幕宽度为 1000 。我需要计算前 25% 的值,即when x in 0..250 -> doSmth() 和最后一部分

这将是when x in 750..1000 -> doSmth()

但我需要使其动态取决于屏幕宽度。在 Android 中有什么方法可以做到这一点?

【问题讨论】:

标签: java android algorithm kotlin


【解决方案1】:

一旦你有了宽度,假设w 是宽度值,它是 25%

w / 100 * 25

我不知道这是不是你的问题。

【讨论】:

  • 但是我怎样才能得到从 75% 到 100% 的值呢?
  • 75%到100%的范围是w/100*75到w
【解决方案2】:

使用浮点值除以宽度以避免整数除法将结果截断为 0。然后与 1 的小数进行比较,而不是整数百分比。

when (x.toFloat() / screenWidth) { 
    in 0f..0.25f -> doSmth()
    in 0.75f..1f -> doSmthElse()
}

【讨论】:

  • 在 Kotlin 1.7 中,带有主题的 when 的最后一个分支必须是 else 分支,因此您可以将最后一个条件替换为 else
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-23
  • 2016-12-16
  • 1970-01-01
  • 1970-01-01
  • 2013-03-04
  • 2013-09-10
相关资源
最近更新 更多