====== 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}}