【问题标题】:React Native Add Spacing Between ComponentsReact Native 在组件之间添加间距
【发布时间】:2020-01-06 05:46:55
【问题描述】:

我需要帮助修复我的 react 本机应用程序中的视图重叠问题(需要它们之间的间距)。

在右上角按两次加号后,两个视图最终重叠在一起,它们之间没有任何空间(称为 HoldWorkout 组件)

Image of overlap

我的 App.js 包含:

                let PRs = PRArray.map((val, key) => {
                 return (
                     <HoldWorkout
                        key={key}
                        keyval={key}
                        val={val}
                        exName={setName}
                        setsHold={setSets}
                     />
                  );
                });

PRs 包含在以下返回时的滚动视图中:

        <View style={styles.container}>
            <View style={styles.whiteColor}>
                <TouchableOpacity
                    activeOpacity={0.5}
                    onPress={addPR.bind(this)}
                    style={styles.TouchableOpacity}
                >
                    <Icon name="ios-add" color="purple" size={45} />
                </TouchableOpacity>

                <View style={styles.header}>
                    <Text style={styles.headerTitle}>Personal Records</Text>
                </View>
            </View>

            <ScrollView style={styles.scrollViewStyle}>
                <View style={styles.color}>{PRs}</View>
            </ScrollView>
        </View>

App.js 中的样式是:

               const styles = StyleSheet.create({
                   whiteColor: {
                     backgroundColor: "white",
                     borderBottomColor: "#F0EFF5",
                     borderBottomWidth: 2,
                     height: 80
                  },
                  container: {
                    flex: 1,
                    borderBottomColor: "#F0EFF5",
                    borderBottomWidth: 2
                  },
                  color: {
                     marginTop: 20,
                     backgroundColor: "#F0EFF5"
                  },
               });

在 HoldWorkout.js 中返回我有

             <View key={props.keyval} style={styles.boxWorkouts}>
                 <TextInput
                    style={styles.input2}
                    placeholder="Excercise Name"
                    placeholderTextColor="#a9a9a9"
                    onChangeText={props.exName}
                 />
                 <ExSets weight={setWeights} rep={setRep} date={setDates} />
                 {sets}
                 <View style={styles.addSet}>
                     <Button title="Add Set" color="purple" onPress={addSets}></Button>
                 </View>
             </View>

视图的样式是 style.boxWorkouts,它在 HoldWorkout.js 中,看起来像

             const styles = StyleSheet.create({
                 boxWorkouts: {
                    borderColor: "#BFBFBF",
                    borderWidth: 1,
                    backgroundColor: "white",
                    height: 90
                 }
              });

我尝试将 marginBottom: 100 添加到 styles.boxWorkouts 但这是固定数量,如果我单击其中一个 HoldWorkout 组件上的“添加设置”按钮,那么它将添加另一行,这将增加组件的高度并最终重叠它下面的组件。

Image of after clicking Add Set on first Hold Workout Component with marginBottom set to 100

请帮助告诉我如何修复此间距,因为我已经尝试了一段时间,因为当我单击组件上的“添加集”按钮时,我不确定如何将组件按下多于。这将确保无论在上面的 HoldWorkouts 组件上按多少次“Add Set”,它都不会重叠。

【问题讨论】:

  • 你可以尝试删除styles.boxWorkouts中的高度吗?
  • 谢谢!现在它直接在它下面。我现在如何添加差距?
  • 没问题!您可以尝试将bottomMargin 添加到styles.boxWorkouts

标签: javascript css reactjs react-native styling


【解决方案1】:

您需要添加空行或空div,间距如下。

let PRs = PRArray.map((val, key) => {
                 return (
                     <div>
                        <HoldWorkout
                          key={key}
                          keyval={key}
                          val={val}
                          exName={setName}
                          setsHold={setSets}
                        />
                        <div>&nbsp; <br/> </div>
                     </div>
                  );
                });

【讨论】:

  • 感谢您的回复,我尝试了您的解决方案,但是如果我在上面的组件上单击添加设置按钮,它仍然会重叠,因为它们之间只有 1 个新行间距。如何使按下“添加集”时内容向下移动?
  • 您是使用 Bootstrap 还是 Material design 来设计主题和样式组件?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-16
  • 2017-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-12
相关资源
最近更新 更多