18 KiB
id, title, original_id
| id | title | original_id |
|---|---|---|
| version-0.41-vibration | vibration | vibration |
Vibration #
You can edit the content above on GitHub and send us a pull request!
Examples # | Edit on GitHub |
var React = require('react'); var ReactNative = require('react-native'); var { StyleSheet, View, Text, TouchableHighlight, Vibration, Platform, } = ReactNative;
exports.framework = 'React'; exports.title = 'Vibration'; exports.description = 'Vibration API';
var pattern, patternLiteral, patternDescription;
if (Platform.OS === 'android') {
pattern = [0, 500, 200, 500];
patternLiteral = '[0, 500, 200, 500]';
patternDescription = $<span class="token punctuation">{</span>patternLiteral<span class="token punctuation">}</span> arg <span class="token number">0</span><span class="token punctuation">:</span> duration to wait before turning the vibrator on<span class="token punctuation">.</span> arg <span class="token keyword">with</span> odd<span class="token punctuation">:</span> vibration length<span class="token punctuation">.</span> arg <span class="token keyword">with</span> even<span class="token punctuation">:</span> duration to wait before next vibration<span class="token punctuation">.</span> ;
} else {
pattern = [0, 1000, 2000, 3000];
patternLiteral = '[0, 1000, 2000, 3000]';
patternDescription = `${patternLiteral}
vibration length on iOS is fixed.
pattern controls durations BETWEEN each vibration only.
arg 0: duration to wait before turning the vibrator on. subsequent args: duration to wait before next vibrattion. `; }
exports.examples = [
{
title: 'Pattern Descriptions',
render() {
return (
<View style={styles.wrapper}>
<Text>{patternDescription}</Text>
</View>
);
},
},
{
title: 'Vibration.vibrate()',
render() {
return (
<TouchableHighlight
style={styles.wrapper}
onPress={() => Vibration.vibrate()}>
<View style={styles.button}>
<Text>Vibrate</Text>
</View>
</TouchableHighlight>
);
},
},
{
title: Vibration<span class="token punctuation">.</span><span class="token function">vibrate<span class="token punctuation">(</span></span>$<span class="token punctuation">{</span>patternLiteral<span class="token punctuation">}</span><span class="token punctuation">)</span>,
render() {
return (
<TouchableHighlight
style={styles.wrapper}
onPress={() => Vibration.vibrate(pattern)}>
<View style={styles.button}>
<Text>Vibrate once</Text>
</View>
</TouchableHighlight>
);
},
},
{
title: Vibration<span class="token punctuation">.</span><span class="token function">vibrate<span class="token punctuation">(</span></span>$<span class="token punctuation">{</span>patternLiteral<span class="token punctuation">}</span><span class="token punctuation">,</span> <span class="token boolean">true</span><span class="token punctuation">)</span>,
render() {
return (
<TouchableHighlight
style={styles.wrapper}
onPress={() => Vibration.vibrate(pattern, true)}>
<View style={styles.button}>
<Text>Vibrate until cancel</Text>
</View>
</TouchableHighlight>
);
},
},
{
title: 'Vibration.cancel()',
render() {
return (
<TouchableHighlight
style={styles.wrapper}
onPress={() => Vibration.cancel()}>
<View style={styles.button}>
<Text>Cancel</Text>
</View>
</TouchableHighlight>
);
},
},
];
var styles = StyleSheet.create({ wrapper: { borderRadius: 5, marginBottom: 5, }, button: { backgroundColor: '#eeeeee', padding: 10, }, });
