react-native-animated-rolling-numbers
カスタマイズ可能なスタイルとアニメーションを使用して数字とコンパクト表記法 (K、M、B、T) をアニメーション化する React Native コンポーネントです。数値間の滑らかで目を引く遷移を作成するように設計されています。
ビデオで示されている例は、ここから入手できます。
npm install react-native-animated-rolling-numbers
# or
yarn add react-native-animated-rolling-numbers
プロジェクトにreact-native-reanimated
がインストールされていることを確認してください。こちらの公式インストールガイドに従ってください:react-native-reanimated インストール。
基本的な例
import React , { useState } from "react" ;
import { View , StyleSheet , Button } from "react-native" ;
import { AnimatedRollingNumber } from "react-native-animated-rolling-numbers" ;
import { Easing } from "react-native-reanimated" ;
const App = ( ) => {
const [ value , setValue ] = useState ( 1200 ) ;
return (
< View style = { styles . container } >
< AnimatedRollingNumber
value = { value }
showPlusSign
showMinusSign
useGrouping
enableCompactNotation
compactToFixed = { 2 }
textStyle = { styles . digits }
spinningAnimationConfig = { { duration : 500 , easing : Easing . bounce } }
/ >
< Button
onPress = { ( ) => setValue ( value + Math . floor ( Math . random ( ) * 1000 ) ) }
title = "Increase"
/ >
< Button
onPress = { ( ) => setValue ( value - Math . floor ( Math . random ( ) * 1000 ) ) }
title = "Decrease"
/ >
< / View >
) ;
} ;
const styles = StyleSheet . create ( {
container : {
flex : 1 ,
justifyContent : "center" ,
alignItems : "center" ,
} ,
digits : {
fontSize : 32 ,
fontWeight : "bold" ,
paddingHorizontal : 2 ,
color : "#4A90E2" ,
} ,
} ) ;
export default App ;
ビデオで示されている例は、ここから入手できます。
value: number
表示およびアニメーション化する数値。
showSign?: boolean
数値の符号 (「+」または「-」など) を表示するかどうか。デフォルトはfalse
です。
showMinusSign?: boolean
負の数値にマイナス記号を表示するかどうか。デフォルトはtrue
です。
showPlusSign?: boolean
正の数値にプラス記号を表示するかどうか。デフォルトはfalse
です。
toFixed?: number
通常の表記で表示する小数点以下の桁数。デフォルトはundefined
です。
useGrouping?: boolean
数値の書式設定にカンマ/小数点を含めるかどうか (例: 1000987 -> 1,000,987)。デフォルトはfalse
です。
formattedText?: string
数値の代わりに表示するカスタム形式のテキスト。
locale?: Intl.LocalesArgument
数値の書式設定に使用するロケール。デフォルトは"en-US"
です。
enableCompactNotation?: boolean
大きな数値 (1K、1M、1B、1T など) のコンパクトな表記を有効にします。デフォルトはfalse
です。
compactToFixed?: number
コンパクト表記で表示する小数点以下の桁数。デフォルトはundefined
です。
fixedOnlyForCompact?: boolean
true の場合、コンパクト表記 (K/M/B/T) に小数精度のみを適用します。デフォルトはtrue
です。
例:
fixedOnlyForCompact
がtrue
で、 compactToFixed
が2
場合、数値1500
1.50K
として表示されますが、数値999
は999
(小数点以下の桁なし) として表示されます。fixedOnlyForCompact
がfalse
で、 compactToFixed
が2
場合、数値1500
は1.50K
として表示され、数値999
は999.00
として表示されます。containerStyle?: StyleProp
アニメーション化された数字をラップするコンテナのスタイル。
digitContainerStyle?: StyleProp
アニメーション化された各数字をラップするコンテナのスタイル。
textProps?: React.ComponentProps
メインテキストコンポーネントの小道具。
numberTextProps?: React.ComponentProps
数値テキストコンポーネントの小道具。
commaTextProps?: React.ComponentProps
カンマテキストコンポーネントの小道具。
dotTextProps?: React.ComponentProps
小数点テキストコンポーネントの小道具。
compactNotationTextProps?: React.ComponentProps
コンパクト表記テキストコンポーネント (K、M、B、T) 用の小道具。
signTextProps?: React.ComponentProps
署名テキスト コンポーネントの小道具 (使用されている場合)。
textStyle?: StyleProp
メインテキストコンポーネントのスタイル。
numberStyle?: StyleProp
数値テキストコンポーネントのスタイル。
commaStyle?: StyleProp
カンマテキストコンポーネントのスタイル。
dotStyle?: StyleProp
小数点テキストコンポーネントのスタイル。
compactNotationStyle?: StyleProp
コンパクト表記テキストコンポーネントのスタイル。
signStyle?: StyleProp
標識テキストコンポーネントのスタイル。
spinningAnimationConfig?: object
数字アニメーションの設定。サポート:
duration: number
: アニメーションの持続時間 (ミリ秒単位)。reduceMotion: boolean
: アクセシビリティのためにモーションを減らすかどうか。easing: EasingFunction
: アニメーションのカスタム イージング関数。animationCallback?: AnimationCallback
アニメーションの完了時に呼び出されるコールバック関数。
animateToNewValue?: (newValue: number, variant?: DigitVariant) => number
値の変化をアニメーション化するカスタム関数。デフォルトではバウンスアニメーションになります。
このプロジェクトが役立つと感じ、進行中の開発をサポートしたい場合は、私にコーヒーを買うことを検討してください。皆様のご支援のおかげで創造性が高まり、このプロジェクトの改善と維持を続けることができます。ありがとう! ☕?