/** * Copyright (c) 2015-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @format * @flow strict-local */ 'use strict'; /* eslint-disable react-native/no-inline-styles */ const React = require('react'); const {StyleSheet, Text, View} = require('react-native'); const TouchableWithoutFeedback = require('TouchableWithoutFeedback'); exports.title = ''; exports.description = 'Basic building block of all UI, examples that ' + 'demonstrate some of the many styles available.'; exports.displayName = 'ViewExample'; exports.examples = [ { title: 'Background Color', render() { return ( Blue background ); }, }, { title: 'Border', render() { return ( 5px blue border ); }, }, { title: 'Padding/Margin', render() { const styles = StyleSheet.create({ box: { backgroundColor: '#527FE4', borderColor: '#000033', borderWidth: 1, }, }); return ( 5px padding 5px margin 5px margin and padding, widthAutonomous=true ); }, }, { title: 'Border Radius', render() { return ( Too much use of `borderRadius` (especially large radii) on anything which is scrolling may result in dropped frames. Use sparingly. ); }, }, { title: 'Border Style', render() { type Props = $ReadOnly<{||}>; type State = {| showBorder: boolean, |}; class ViewBorderStyleExample extends React.Component { state = { showBorder: true, }; render() { return ( Dashed border style Dotted border style ); } _handlePress = () => { this.setState({showBorder: !this.state.showBorder}); }; } return ; }, }, { title: 'Circle with Border Radius', render() { return ( ); }, }, { title: 'Overflow', render() { const styles = StyleSheet.create({ container: { borderWidth: StyleSheet.hairlineWidth, height: 12, marginBottom: 8, marginEnd: 16, width: 95, }, content: { height: 20, width: 200, }, }); // NOTE: The that sets `overflow` should only have other layout // styles so that we can accurately test view flattening optimizations. return ( undefined hidden visible ); }, }, { title: 'Opacity', render() { return ( Opacity 0 Opacity 0.1 Opacity 0.3 Opacity 0.5 Opacity 0.7 Opacity 0.9 Opacity 1 ); }, }, { title: 'ZIndex', render() { type Props = $ReadOnly<{||}>; type State = {| flipped: boolean, |}; const styles = StyleSheet.create({ zIndex: { justifyContent: 'space-around', width: 100, height: 50, marginTop: -10, }, }); class ZIndexExample extends React.Component { state = { flipped: false, }; render() { const indices = this.state.flipped ? [-1, 0, 1, 2] : [2, 1, 0, -1]; return ( Tap to flip sorting order ZIndex {indices[0]} ZIndex {indices[1]} ZIndex {indices[2]} ZIndex {indices[3]} ); } _handlePress = () => { this.setState({flipped: !this.state.flipped}); }; } return ; }, }, ];