====== style ====== [[https://facebook.github.io/react-native/docs/flexbox#docsNav|EDIT Layout with Flexbox]] [[https://qiita.com/courage-liberty/items/a3999560738e0cd64490|ReactNativeで簡単なfetchからFlatList→onPressまでのサンプルプログラム(CRNA)]] [[https://qiita.com/shohey1226/items/5185fcba7381bf4da2f2|React Nativeのデザイン - Stylesheet/Flexbox (part1)]] [[https://qiita.com/shohey1226/items/f413c65b7f110dcb955c|React Nativeのデザイン - Stylesheet/Flexbox (part2)]] [[https://qiita.com/nitaking/items/52ca6c23ba7c6c171d0e|【React Native】よく使うスタイル実装まとめ【StyleSheet】]] [[https://casesandberg.github.io/react-color/|React Color]] ====== widthやhight ====== 数字でも%でも指定できる。%の場合は''が必要。 style={{flex:1,width:'100%',maxHeight:200,top:50}} ===== flex ===== flex:1を親に追加すると、親は全体に広がります 子にもつけると、つけた数字の割合で親の中で広がります ===== flexDirection ===== 親に設定し、子の並ぶ方向を決める。 column(デフォルト):縦並び。 row:横並び。 ===== flexWrap ===== 親に設定し、子が画面に入りきらなかった場合の回り込みの設定をする。 nowrap(デフォルト):そのまま画面の外に伸びていく。 wrap:回り込ませる。 ===== justifyContent ===== 親に設定し、子の配置方法を設定する。flexDirectionに対する位置。 flex-start(デフォルト):子を先頭から配置。 flex-end:子を後ろから配置。 center:子を真ん中に配置。 space-between:子を先頭と最後に配置し、均等なスペースを他の子コンポーネントの間に挟む。 space-around:各子コンポーネントの均等なスペースを先頭の前、最後の後に加えた配置。 ===== alignItems ===== 親に設定し、子の横の広がり、もしくは位置を設定する。 stretch(デフォルト):伸ばして配置。 flex-start:子を先頭から配置。 flex-end:子を後ろに配置します。 center:子を真ん中に配置します alignSelf:親の設定を子側で上書きする。alignItemsと同じ値が設定できる。 ===== flexサンプル ===== flex:1を親に追加すると、親は全体に広がります //flex:1 1.powderblue 2.skyblue 3.steelblue {{:reactnative:pasted:20190210-152110.png}} 子にもつけると、つけた数字の割合で親の中で広がります。 //flex:1 1.powderblue //flex:2 2.skyblue //flex:3 3.steelblue {{:reactnative:pasted:20190210-152214.png}} ===== flexDirectionサンプル ===== 親に設定し、子の並ぶ方向を決める。 column(デフォルト):縦並び。 // flexDirection:'column' 1.powderblue 2.skyblue 3.steelblue {{:reactnative:pasted:20190210-152601.png}} row:横並び。 // flexDirection:'row' 1.powderblue 2.skyblue 3.steelblue {{:reactnative:pasted:20190210-152423.png}} ===== flexWrapサンプル ===== 親に設定し、子が画面に入りきらなかった場合の回り込みの設定をする。 nowrap(デフォルト):そのまま画面の外に伸びていく。  // flexWrap:'nowrap' 1.powderblue 2.skyblue 3.steelblue {{:reactnative:pasted:20190210-153024.png}} wrap:回り込ませる。  // flexWrap:'wrap' 1.powderblue 2.skyblue 3.steelblue {{:reactnative:pasted:20190210-153108.png}} ===== justifyContentサンプル ===== 親に設定し、子の配置方法を設定する。flexDirectionに対する位置。 flex-start(デフォルト):子を先頭から配置。  //justifyContent:'flex-start' 1.powderblue 2.skyblue 3.steelblue {{:reactnative:pasted:20190210-153229.png}} flex-end:子を後ろから配置。  //justifyContent:'flex-end' 1.powderblue 2.skyblue 3.steelblue {{:reactnative:pasted:20190210-153313.png}} center:子を真ん中に配置。  //justifyContent:'center' 1.powderblue 2.skyblue 3.steelblue {{:reactnative:pasted:20190210-153356.png}} space-between:子を先頭と最後に配置し、均等なスペースを他の子コンポーネントの間に挟む。  //justifyContent:'space-between' 1.powderblue 2.skyblue 3.steelblue {{:reactnative:pasted:20190210-153501.png}} space-around:各子コンポーネントの均等なスペースを先頭の前、最後の後に加えた配置。  //justifyContent:'space-around' 1.powderblue 2.skyblue 3.steelblue {{:reactnative:pasted:20190210-153525.png}} ===== alignItemsサンプル ===== 親に設定し、子の横の広がり、もしくは位置を設定する。 stretch(デフォルト):伸ばして配置。  //alignItems :'stretch' 1.powderblue 2.skyblue 3.steelblue {{:reactnative:pasted:20190210-153838.png}} flex-start:子を先頭から配置。  //alignItems :'flex-start' 1.powderblue 2.skyblue 3.steelblue {{:reactnative:pasted:20190210-153930.png}} flex-end:子を後ろに配置します。  //alignItems :'flex-end' 1.powderblue 2.skyblue 3.steelblue {{:reactnative:pasted:20190210-154015.png}} center:子を真ん中に配置します。  //alignItems :'center' 1.powderblue 2.skyblue 3.steelblue {{:reactnative:pasted:20190210-154129.png}} alignSelf:親の設定を子側で上書きする。alignItemsと同じ値が設定できる。  //alignItems :'center' 1.powderblue 2.skyblue 3.steelblue {{:reactnative:pasted:20190210-154341.png}} ===== そのたサンプル ===== import { StyleSheet, Text, View , TouchableOpacity ,Button ,TextInput} from 'react-native'; render() { return ( Redux Sample this.pressPlus(e)} > count plus this.pressMinuss(e)} > count minus this.changeName(e)}> {this.state.name} count:{this.state.count} name:{this.state.name} ); } const styles = StyleSheet.create({ view:{ flex: 1, alignItems: 'center', justifyContent: 'center', margin:10, }, button: { width: 200, height: 40, margin: 5 , backgroundColor: 'lightblue', justifyContent: 'center', alignItems: 'center', }, input: { width: 200, height: 40, margin: 5 , backgroundColor: '#f5f5f5', borderColor : 'black', justifyContent: 'center', alignItems: 'center', }, } {{:reactnative:pasted:20190130-071510.png}}