React Native 그림자 생성기 - iOS & Android 그림자 스타일 온라인
React Native용 크로스 플랫폼 그림자 스타일을 실시간 미리보기와 함께 생성하세요. iOS shadowProps, Android elevation, boxShadow (RN 0.76+) 지원 — 100% 클라이언트 사이드.
단일 슬라이더로 Material Design 엘리베이션 기반 모든 그림자 속성을 자동 계산합니다
계산된 값
그림자 프리셋
미리보기 설정
미리보기
iOS
Android
생성된 코드
const styles = StyleSheet.create({
shadow: {
shadowColor: '#000000',
shadowOffset: {
width: 0,
height: 2,
},
shadowOpacity: 0.27,
shadowRadius: 3,
elevation: 4,
},
});자주 묻는 질문
React Native Shadow Generator란 무엇인가요?
React Native Shadow Generator는 React Native 애플리케이션을 위한 플랫폼별 그림자 스타일을 생성하는 온라인 도구입니다. React Native는 iOS(shadowColor, shadowOffset, shadowOpacity, shadowRadius)와 Android(elevation)에서 서로 다른 그림자 API를 사용하므로, 이 도구는 두 플랫폼 모두에 적합한 속성을 시각적 미리보기와 함께 생성하여 각 기기에서 그림자가 어떻게 보이는지 정확히 확인할 수 있습니다.
이 도구는 어떻게 사용하나요?
Quick Mode(단일 깊이 슬라이더) 또는 Advanced Mode(개별 속성 제어)를 선택하세요. 슬라이더나 숫자 입력으로 그림자 매개변수를 조정하세요. 기본 검정색 외에 다른 그림자 색상을 선택할 수도 있습니다. iOS와 Android 미리보기에서 그림자를 실시간으로 확인하세요. 원하는 코드 형식(StyleSheet, Inline, Platform.select, 또는 boxShadow)을 선택하고 Copy 버튼을 클릭하여 생성된 코드를 React Native 프로젝트에 붙여넣으세요.
데이터가 안전한가요? 브라우저 밖으로 전송되나요?
네. 이 도구는 클라이언트 사이드 JavaScript를 사용하여 브라우저에서 완전히 실행됩니다. 그림자 설정, 코드 출력 또는 어떤 데이터도 서버로 전송되지 않습니다. 작업 내용은 완전히 사용자의 기기에 남아 있습니다.
React Native에서 iOS와 Android의 그림자가 왜 다르게 보이나요?
React Native는 플랫폼마다 근본적으로 다른 그림자 렌더링 엔진을 사용합니다. iOS는 CALayer에 직접 매핑되는 Core Animation 그림자 속성(shadowColor, shadowOffset, shadowOpacity, shadowRadius)을 사용합니다. Android는 단일 숫자 깊이 값을 기반으로 미리 정의된 그림자를 생성하는 Material Design elevation 속성을 사용합니다. 따라서 플랫폼 간 픽셀 단위의 완벽한 그림자 일치는 본질적으로 제한적이지만, 이 도구를 사용하면 최대한 가깝게 맞출 수 있습니다.
React Native 0.76+의 boxShadow 속성이란 무엇인가요?
React Native 0.76부터 New Architecture에서 iOS와 Android 모두에서 작동하는 웹 표준 호환 그림자 속성인 boxShadow가 도입되었습니다. CSS box-shadow와 동일한 구문을 사용하므로 웹 개발자에게 친숙합니다. 이 도구는 New Architecture가 활성화된 React Native 0.76 이상 프로젝트를 위한 boxShadow 출력을 생성할 수 있습니다.
elevation과 iOS 그림자 속성의 차이점은 무엇인가요?
elevation은 Android 전용으로 Material Design 높이를 나타내는 단일 숫자(0-24)를 받습니다. 오프셋, 블러, 불투명도를 포함한 그림자 외관을 자동으로 결정합니다. iOS 그림자 속성은 세밀한 제어를 제공합니다: shadowColor는 색상, shadowOffset는 방향, shadowOpacity는 투명도, shadowRadius는 블러를 제어합니다. 크로스 플랫폼 그림자를 구현하려면 일반적으로 두 가지 모두 설정해야 합니다.
적절한 그림자 깊이는 어떻게 선택하나요?
Material Design 높이 가이드라인을 참고하세요: 기본 카드와 리스트 항목은 0-2, 볼록한 버튼, 스낵바, FAB는 3-6, 모달, 바텀 시트, 메뉴는 8-12, 내비게이션 드로어와 사이드 시트는 16-24. Quick Mode의 프리셋을 사용하면 일반적인 그림자 깊이를 쉽게 적용할 수 있습니다.
코드 예제
// React Native shadow style generator
function generateShadowStyle(depth, color = '#000000') {
const shadowOpacity = 0.2 + (depth / 24) * 0.4;
const shadowRadius = Math.max(1, Math.round(depth * 0.8));
const shadowOffsetHeight = Math.max(1, Math.round(depth * 0.5));
return {
shadowColor: color,
shadowOffset: {
width: 0,
height: shadowOffsetHeight,
},
shadowOpacity: Math.round(shadowOpacity * 100) / 100,
shadowRadius: shadowRadius,
elevation: depth,
};
}
// Platform-specific shadow
import { Platform } from 'react-native';
function createPlatformShadow(depth, color = '#000000') {
const shadow = generateShadowStyle(depth, color);
return Platform.select({
ios: {
shadowColor: shadow.shadowColor,
shadowOffset: shadow.shadowOffset,
shadowOpacity: shadow.shadowOpacity,
shadowRadius: shadow.shadowRadius,
},
android: {
elevation: shadow.elevation,
shadowColor: shadow.shadowColor,
},
});
}
// Usage
const cardShadow = generateShadowStyle(4);
console.log(cardShadow);
// { shadowColor: '#000000', shadowOffset: { width: 0, height: 2 },
// shadowOpacity: 0.27, shadowRadius: 3, elevation: 4 }