StrokeContent.java 文件源码

java
阅读 27 收藏 0 点赞 0 评论 0

项目:atlas 作者:
private void applyDashPatternIfNeeded() {
  if (dashPatternAnimations.isEmpty()) {
    return;
  }

  float scale = lottieDrawable.getScale();
  for (int i = 0; i < dashPatternAnimations.size(); i++) {
    dashPatternValues[i] = dashPatternAnimations.get(i).getValue();
    // If the value of the dash pattern or gap is too small, the number of individual sections
    // approaches infinity as the value approaches 0.
    // To mitigate this, we essentially put a minimum value on the dash pattern size of 1px
    // and a minimum gap size of 0.01.
    if (i % 2 == 0) {
      if (dashPatternValues[i] < 1f) {
        dashPatternValues[i] = 1f;
      }
    } else {
      if (dashPatternValues[i] < 0.1f) {
        dashPatternValues[i] = 0.1f;
      }
    }
    dashPatternValues[i] *= scale;
  }
  float offset = dashPatternOffsetAnimation == null ? 0f : dashPatternOffsetAnimation.getValue();
  paint.setPathEffect(new DashPathEffect(dashPatternValues, offset));
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号