forked from MonstroDev/expo-image-picker-multiple
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathImageTile.js
35 lines (32 loc) · 1.09 KB
/
ImageTile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import React from 'react';
import {
Dimensions,
ImageBackground,
TouchableHighlight,
View,
} from 'react-native';
const {width} = Dimensions.get('window');
class ImageTile extends React.PureComponent {
render() {
const { item, index, selected, selectImage, selectedItemNumber, renderSelectedComponent, renderExtraComponent } = this.props;
if (!item) return null;
return (
<TouchableHighlight
style={{ opacity: selected ? 0.5 : 1 }}
underlayColor='transparent'
onPress={() => selectImage(index)} >
<View style={{ position: 'relative' }}>
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<ImageBackground
style={{ width: width / 4, height: width / 4 }}
source={{ uri: item.uri }} >
{selected && renderSelectedComponent && renderSelectedComponent(selectedItemNumber)}
{renderExtraComponent && renderExtraComponent(item)}
</ImageBackground>
</View>
</View>
</TouchableHighlight>
)
}
}
export default ImageTile;