美文网首页
ReactNative-Flex(三)

ReactNative-Flex(三)

作者: 攻克乃还_ | 来源:发表于2017-08-20 20:17 被阅读36次

1.Flex布局使用场景

  • 快速布局所有子组件

2.主轴,侧轴概念

  • 主轴侧轴相互垂直
  • 主轴决定了子组件默认的布局方向,侧轴决定了子组件与主轴垂直的布局方向

3.属性:flexDirection

3.1.应用场景:决定主轴方向
3.2.可选值
row:水平,由左向右
row-reverse:水平,由右向左
column:垂直,由上到下
column-reverse:垂直,由下到上
3.3.代码示例
const styles = StyleSheet.create({
    rootView:{
        backgroundColor:'darkorange',
        flex:1,
        flexDirection:'row'
    },
 baseTextStyle:{
        backgroundColor:'deepskyblue',
        width:50,
        height:50,
        fontSize:15,
        textAlign:'center',
        margin:20,
    }
});

4.属性:flexWrap

4.1.应用场景:是否允许子控件在父视图中多行排列
4.2.可选值
nowrap:只允许单行,可能溢出
wrap:允许多行
4.3.代码示例
const styles = StyleSheet.create({
    rootView:{
        backgroundColor:'darkorange',
        flex:1,
        flexDirection:'row',
        flexWrap:'wrap'
    },
});

5.属性justifyContent

5.1.使用场景:子组件在主轴中具体布局
5.2.可选值
flex-start:主轴水平,从左开始,主轴垂直,从上开始
flex-end:主轴水平,从右开始,主轴垂直,从下开始
center:主轴整体居中
space-between:相邻元素间距离相同。每行第一个组件与行首对齐,每行最后一个组件与行尾对齐
space-around:相邻元素间距离相同。每行第一个组件到行首的距离和每行最后一个组件到行尾的距离,是相邻元素距离的一半
5.3.代码示例
const styles = StyleSheet.create({
    rootView:{
        backgroundColor:'darkorange',
        flex:1,
        flexDirection:'row',
        justifyContent:'space-around'
    },
   });

6.属性alignItems

6.1.应用场景:子组件在侧轴方向上的布局
6.2.可选值
flex-start:侧轴水平,从左开始,主轴垂直,从上开始
flex-end:侧轴水平,从右开始,主轴垂直,从下开始
center:侧轴整体居中
stretch:子组件在侧轴方向被拉伸到与容器相同的高度或宽度
6.3.代码示例
const styles = StyleSheet.create({
    rootView:{
        backgroundColor:'darkorange',
        flex:1,
        flexDirection:'row',
        justifyContent:'space-around',
        alignItems:'stretch'
    },
});

7.属性alignSelf

7.1.应用场景:某个子组件不想参照默认alignItems,自定义侧轴布局
7.2.可选值
auto:继承父控件alignItems,没有父控件则自动转换为stretch
flex-start:侧轴起点对齐
flex-end:侧轴终点对齐
center:侧轴方向居中
stretch:侧轴方向拉伸
7.3.代码示例
const styles = StyleSheet.create({
    rootView:{
        backgroundColor:'darkorange',
        flex:1,
        flexDirection:'row',
        justifyContent:'space-around',
 alignItems:'center'
    },
    baseTextStyle:{
        backgroundColor:'deepskyblue',
        width:50,
        // height:50,
        fontSize:15,
        textAlign:'center',
        marginTop:20,
    },
    text3Style:{
        alignSelf:'flex-start'
    }
});

8.属性Flex

8.1.应用场景:子组件在主轴中占据几等份
8.2.可选值为任意数字,所有子组件flex值相加为分母,自己的数为分子,即可知自己在主轴中占据比例
8.3.代码示例
const styles = StyleSheet.create({
    rootView:{
        backgroundColor:'darkorange',
        flex:1,
        flexDirection:'row',
        justifyContent:'space-around',
        alignItems:'center'
    },
    baseTextStyle:{
        // width:50,
        // height:50,
        fontSize:15,
        textAlign:'center',
        marginTop:20,
    },
    text1Style:{
        flex:1,
        backgroundColor:'red',
    },
    text2Style:{
        flex:1,
        backgroundColor:'deepskyblue',
    },
   text3Style:{
        flex:3,
        backgroundColor:'green'
    },
    text4Style:{
        flex:1,
        backgroundColor:'blue',
    }
});

相关文章

  • ReactNative-Flex(三)

    1.Flex布局使用场景 快速布局所有子组件 2.主轴,侧轴概念 主轴侧轴相互垂直 主轴决定了子组件默认的布局方向...

  • 三.三

    越来越多的年轻孩子们开始写字,说自己的生活,欲望和野心。大概两年的日子,是一边默默消化符合这个时代的速成文学,一边...

  • 36/70 二三三三三三三

    上周看的电影叫做《羞羞的铁拳》,女主马丽,男主艾伦,开心麻花出品。想不起来是从什么时候开始关注麻花作品的。应该是从...

  • 三棍儿(三)

    再说强子,跟着老黄上完了三年初小,虽然再也没有捧奖状回来,成绩算还不错。上完了三年级就要去镇上的高小去上四...

  • 三A三Q

    1.请写出参加这次交流对自己触动最大,感受最深的内容。 我觉得在这次讲座期间我思考了很多,我觉得这些观念给了我很大...

  • 三少(三)

    我一听心中一凛,就见祥子眯缝着看着我,却是不再说话。突然感觉背后冷飕飕的,像是一股阴风吹来,我整个人都像要炸了开来...

  • 三妹妹(三)

    我们虽一母同胞,却在不同的环境中长大,有着迥然不同的价值观。 最早的一次冲突,我们都很隐忍,彼此...

  • 三就是三

    三就是三,哪有什么后来者居上,连那个三妻四妾的时代都知道“聘为妻,奔为妾”,但凡有点教养,ta的骄傲的不允许ta插...

  • 三婶(三)

    为病魔所胁迫,徘徊在这个世界边缘,一直坐在病床上背对别人低着头的三婶,寡言少语,却从未放弃过任何一丝生存的希望,积...

  • 山三(三)

    某天晩上,蝉鸣声更欢了,空气似乎停滞或者被人类抽光,进入“真空地带”,近乎窒息,没有一丝流动。太阳已经完全落山了,...

网友评论

      本文标题:ReactNative-Flex(三)

      本文链接:https://www.haomeiwen.com/subject/mytqdxtx.html