React Native如何添加动态圆形边框,如WhatsApp状态

zc0qhyus  于 2023-06-24  发布在  React
关注(0)|答案(2)|浏览(137)

如何添加动态虚线边框到图像视图像WhatsApp在状态屏幕做?
我圈出了我想要实现的功能

doinxwow

doinxwow1#

你可以使用svg cirlces和stroke-dashoffsetstroke-dasharray来创建这个效果。
在下面的例子中,stroke-dashoffset是使用2 * PI * circleRadius / (number of items)计算的,第二个值是每个弧之间的间距。

<svg width="100" height="100" viewBox="0 0 100 100">
  <circle cx="50" cy="50" r="48" fill="none" stroke="green" stroke-width="4" stroke-dasharray="150 2" stroke-dashoffset="-2"/>
  </svg>
<svg width="100" height="100" viewBox="0 0 100 100">
  <circle cx="50" cy="50" r="48" fill="none" stroke="green" stroke-width="4" stroke-dasharray="100 2" stroke-dashoffset="-2"/> 
</svg>
von4xj4u

von4xj4u2#

下面是使用上面的@Akshay示例代码import React from 'react'的真示例子

function StatusCircle() {
    const numberOfDots = 2 * 3.14 * 48 / (5) //10 number of statues //48 is the radius of the circle
  return (
      <svg width="100" height="100" viewBox="0 0 100 100">
       <circle cx="50" cy="50" r="48" fill="none" 
       stroke="green" stroke-width="4" stroke-dasharray={`${numberOfDots} 2 `} 
       stroke-dashoffset={numberOfDots}/>
     </svg>
  )
}

export default StatusCircle

相关问题