forked from chramos/react-native-skeleton-placeholder
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.md
134 lines (97 loc) · 3.23 KB
/
README.md
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
## SkeletonPlaceholder
SkeletonPlaceholder is a React Native library to easily create an amazing loading effect. [ANDROID & IOS]

<div style="background-color:#84d2ef80; padding: 20px; border-radius: 4px; color: #14485b">This package includes the dependency **@react-native-masked-view/masked-view**
</div>
### Installation
> Note: If your project already includes the **@react-native-masked-view/masked-view** you can skip the Step #1
###### Step #1
Using yarn:
```bash
yarn add @react-native-masked-view/masked-view
```
Using npm:
```bash
npm install @react-native-masked-view/masked-view --save
```
If you are running a **react-native** version below 0.60:
```bash
react-native link @react-native-masked-view/masked-view
```
Otherwise:
```bash
cd ios
pod install
```
###### Step #2
Using yarn:
```bash
yarn add react-native-skeleton-placeholder
```
Using npm:
```bash
npm install react-native-skeleton-placeholder --save
```
### Usage
There are two ways to use this package:
with **SkeletonPlacehoder.Item** 🆕
```javascript
import React from "react";
import { View } from "react-native";
import SkeletonPlaceholder from "react-native-skeleton-placeholder";
const App = () => {
return (
<SkeletonPlaceholder>
<SkeletonPlaceholder.Item flexDirection="row" alignItems="center">
<SkeletonPlaceholder.Item width={60} height={60} borderRadius={50} />
<SkeletonPlaceholder.Item marginLeft={20}>
<SkeletonPlaceholder.Item width={120} height={20} borderRadius={4} />
<SkeletonPlaceholder.Item
marginTop={6}
width={80}
height={20}
borderRadius={4}
/>
</SkeletonPlaceholder.Item>
</SkeletonPlaceholder.Item>
</SkeletonPlaceholder>
);
};
```
or with **View**
```javascript
import React from "react";
import { View } from "react-native";
import SkeletonPlaceholder from "react-native-skeleton-placeholder";
const App = () => {
return (
<SkeletonPlaceholder>
<View style={{ flexDirection: "row", alignItems: "center" }}>
<View style={{ width: 60, height: 60, borderRadius: 50 }} />
<View style={{ marginLeft: 20 }}>
<View style={{ width: 120, height: 20, borderRadius: 4 }} />
<View
style={{ marginTop: 6, width: 80, height: 20, borderRadius: 4 }}
/>
</View>
</View>
</SkeletonPlaceholder>
);
};
```
### Properties
#### SkeletonPlaceholder
| Prop | Description | Type | Default |
| :-------------: | :--------------------------------------------: | :----: | :-------: |
| backgroundColor | Determines the color of placeholder | string | _#E1E9EE_ |
| highlightColor | Determines the highlight color of placeholder | string | _#F2F8FC_ |
| speed | Determines the animation speed in milliseconds | number | _800_ |
#### SkeletonPlaceholder.Item
| Prop | Description | Type | Default |
| :--: | :-------------------------------: | :--: | :-----: |
| any | Any view style props was accepted | any |
### Contributing
Any help this module will be appreciated!
### License
[MIT](https://choosealicense.com/licenses/mit/)