Fix ViewShot dropping frames and stickers on Android by grouping all layers into a single composited parent View
This commit is contained in:
@@ -19,6 +19,7 @@ export default function FrameOverlay({ frameAsset }: FrameOverlayProps) {
|
||||
source={frameAsset}
|
||||
style={styles.frameImage}
|
||||
resizeMode="cover"
|
||||
fadeDuration={0}
|
||||
/>
|
||||
</View>
|
||||
);
|
||||
|
||||
@@ -445,31 +445,33 @@ export default function PreviewScreen({
|
||||
style={styles.viewShotContainer}
|
||||
collapsable={false}
|
||||
>
|
||||
{renderCollageView()}
|
||||
<View style={StyleSheet.absoluteFill} collapsable={false}>
|
||||
{renderCollageView()}
|
||||
|
||||
{/* Frame Overlay */}
|
||||
{activeFrame && <FrameOverlay frameAsset={activeFrame.asset} />}
|
||||
{/* Frame Overlay */}
|
||||
{activeFrame && <FrameOverlay frameAsset={activeFrame.asset} />}
|
||||
|
||||
{/* Date/Time Overlay */}
|
||||
{dateOverlay !== 'off' && (
|
||||
<View style={[styles.dateOverlay, getDatePositionStyle()]} pointerEvents="none">
|
||||
<Text style={styles.dateOverlayText}>
|
||||
{formatDate(dateOverlay)}
|
||||
</Text>
|
||||
</View>
|
||||
)}
|
||||
{/* Date/Time Overlay */}
|
||||
{dateOverlay !== 'off' && (
|
||||
<View style={[styles.dateOverlay, getDatePositionStyle()]} pointerEvents="none">
|
||||
<Text style={styles.dateOverlayText}>
|
||||
{formatDate(dateOverlay)}
|
||||
</Text>
|
||||
</View>
|
||||
)}
|
||||
|
||||
{/* Stickers */}
|
||||
{stickers.map((sticker) => (
|
||||
<DraggableSticker
|
||||
key={sticker.id}
|
||||
sticker={sticker}
|
||||
isSelected={selectedStickerId === sticker.id}
|
||||
onSelect={handleStickerSelect}
|
||||
onDelete={handleStickerDelete}
|
||||
onUpdate={handleStickerUpdate}
|
||||
/>
|
||||
))}
|
||||
{/* Stickers */}
|
||||
{stickers.map((sticker) => (
|
||||
<DraggableSticker
|
||||
key={sticker.id}
|
||||
sticker={sticker}
|
||||
isSelected={selectedStickerId === sticker.id}
|
||||
onSelect={handleStickerSelect}
|
||||
onDelete={handleStickerDelete}
|
||||
onUpdate={handleStickerUpdate}
|
||||
/>
|
||||
))}
|
||||
</View>
|
||||
</ViewShot>
|
||||
|
||||
{/* Sticker Tray (outside ViewShot — not captured) */}
|
||||
|
||||
Reference in New Issue
Block a user