为了账号安全,请及时绑定邮箱和手机立即绑定

如何在平面列表中水平对齐元素反应本机?

如何在平面列表中水平对齐元素反应本机?

慕斯王 2023-07-29 15:51:31
我是新来的,我不太知道如何实现这种对齐,任何帮助都是值得赞赏的:)我的代码:   <View style={styles.calendar}>      <View style={styles.calendar_week}>        <FlatList          data={daysWeek}          keyExtractor={(item) => item.id}          numColumns={7}          renderItem={({item}) => (            <Text style={styles.dayWeek}>{item.day}</Text>          )}        />      </View>      <View style={styles.calendar_week}>        <FlatList          data={days}          style={styles.calendar_week_days}          numColumns={7}          renderItem={({item}) => <Text style={styles.daysWeek}>{item}</Text>}        />      </View>    </View>calendar: {    width: '100%',    alignItems: 'center',  },calendar_week: {    width: '90%',    backgroundColor: 'green',    flexDirection: 'row',  },  dayWeek: {    fontSize: 18,    marginHorizontal: 16,  },  calendar_week_days: {    width: '90%',    backgroundColor: 'red',  },  daysWeek: {    marginHorizontal: 19,  }, ```
查看完整描述

2 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

  

https://img1.sycdn.imooc.com//64c4c5270001526606351296.jpg

当您在 Flatlist 中使用列时,您应该注意:

列宽根据该平面列表的项目数量动态更改,因此为了避免您应该对项目使用固定宽度。如果您想以相同的方式拥有另一个平面列表,您也应该对该平面列表项目使用相同的样式

<FlatList

          data={["aa","vv","aaz","zz","sv","qq","ee",]}

          keyExtractor={(item) => item.id}

          numColumns={7}

          style={{width:600}}

          contentContainerStyle={{width:100}}

          renderItem={({item}) => (

              <View style={{backgroundColor:"green",marginHorizontal:4,width:50,alignItems:"center"}}>

                   <Text style={styles.dayWeek}>{item}</Text>

              </View>

           

          )}

        />

        <FlatList

          data={["1","2","3","4","5","6","9","12","13","11","22","43","41","2","3","1","2","3",]}

          keyExtractor={(item) => item.id}

          numColumns={7}

          renderItem={({item}) => (

            <View style={{backgroundColor:"red",marginHorizontal:4,marginVertical:3,width:50,alignItems:"center"}}>

            <Text >{item}</Text>

       </View>

          )}

        />



查看完整回答
反对 回复 2023-07-29
?
慕容森

TA贡献1853条经验 获得超18个赞

为每个项目设置相等的宽度并将文本居中对齐并使父宽度“100%”


import { Dimensions } from 'react-native';


const windowWidth = Dimensions.get('window').width;

const itemWidth = windowWidth/7 ;

    calendar: {

        width: '100%',

        alignItems: 'center',

      },

    calendar_week: {

        width: '100%',

        backgroundColor: 'green',

        flexDirection: 'row',

      },

      dayWeek: {

        fontSize: 18,

        textAlign:"center",

        width:itemWidth -> change here

      },

      calendar_week_days: {

        width: '100%',

        backgroundColor: 'red',

      },

      daysWeek: {

       textAlign:"center",

       width:itemWidth  -> change here

      }, 


```


查看完整回答
反对 回复 2023-07-29
  • 2 回答
  • 0 关注
  • 129 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信