240 发简信
IP属地:江苏
  • import React, { FC } from 'react';
    import { StyleSheet, View } from 'react-native';
    import Svg, { Defs, LinearGradient, Stop, Path, G } from 'react-native-svg';

    interface Props {
    value: number;
    minValue: number;
    maxValue: number;
    }

    const Gauge: FC<Props> = ({ value, minValue, maxValue }) => {
    const angle = ((value - minValue) / (maxValue - minValue)) * 225 - 45;

    const radius = 140;
    const pointerX = radius + radius * 0.8 * Math.cos((angle * Math.PI) / 180);
    const pointerY = radius + radius * 0.8 * Math.sin((angle * Math.PI) / 180);

    const gradientId = 'gradient';
    const colors = ['#f00', '#888'];
    const gradientColors = colors.map((color, i) => (
    <Stop key={i} offset={`${(i / (colors.length - 1)) * 100}%`} stopColor={color} />
    ));

    return (
    <Svg width={280} height={280}>
    <Defs>
    <LinearGradient id={gradientId} x1="0%" y1="0%" x2="100%" y2="0%">
    {gradientColors}
    </LinearGradient>
    </Defs>
    <G transform={`rotate(${angle + 90},140,140)`}>
    <Path d="M140,140 L140,20 A120,120 0 0,1 260,140 Z" fill={`url(#${gradientId})`} />
    </G>
    <Path
    d={`M ${radius},${radius} L ${pointerX},${pointerY}`}
    stroke="#000"
    strokeWidth={3}
    strokeLinecap="round"
    fill="#000"
    />
    </Svg>
    );
    };

    const styles = StyleSheet.create({});

    export default Gauge;

    2023-06-15

    import React from 'react'; import { View, Text, StyleSheet } from 'react-native'; impor...

  • 2023-06-15

    import React from 'react'; import { View, Text, StyleSheet } from 'react-native'; impor...

  • 调用tushare的方法报错

    一、调用tushare的ts.pro_bar方法时报错 二、可能原因及解决方案: 1.未注册 注册地址: 2.积分不足 获取积分方法:

  • 大佬demo跳转不了了,有没有新的下载地址 研究下 😄

    项目笔记:(一)蓝牙打印、POS机打印、播报语音

    蓝牙打印:之前在做项目时,遇到要做手机端的蓝牙打印,其实就是手机端结合热敏打印机,通过蓝牙的连接,进行数据的传输,最终打印出所需要的小票。 POS机打印:POS机的打印也是结...

个人介绍
做一个正能量满满的程序员!