javascript - 我正在尝试使用 React-Native 将按钮放置在屏幕底部,但我真的很难理解如何通过 Flex 支持正确地做到这一点

标签 javascript react-native

我正在尝试使用 React-Native 构建一个应用程序,我需要在屏幕底部放置两个彼此相邻的按钮。到目前为止我写了这段代码:

    render() {
        const { subtitle } = this.state;
        return (
            <View style={styles.container}>
                <ActionBar onBackAction={this.backActionHandler} isBackAvailable />
                <View style={styles.contentContainer}>
                    <Text>{subtitle}</Text>
                </View>
                <View style={styles.buttonsContainer}>
                    <Button title="BTN #1" />
                    <Button title="BTN #2" />
                </View>
            </View>
        );
    }

使用这些样式:

    const styles = StyleSheet.create({
        container: {
            flex: 1,
            alignItems: 'center',
            justifyContent: 'space-between'
        },
        contentContainer: {
            flex: 1,
            flexGrow: 1,
            backgroundColor: 'purple'
        },
        buttonsContainer: {
            flex: 1,
            justifyContent: 'flex-end',
            flexDirection: 'row',
            marginBottom: 40,
            backgroundColor: 'red'
        }
    });

这是迄今为止的结果......

the result

这就是我想要实现的目标:

the result

有人能指出我的错误在哪里吗?如果这很重要,则上面的整个屏幕将嵌套在另一个仅具有 flex: 1 属性的 View 中。我试图理解这个弹性概念,但我无法做到这一点。

最佳答案

只需将 buttonsContainer 样式的 flex 更改为 0 即可。当您将 flex: 1 放入 buttonsContainercontentContainer 时,可用空间将在这两个容器之间分配。但根据您的要求,contentContainer 应占用所有可用空间。因此,将 contentContainer 设置为 flex: 1 是正确的。要获得所需的结果,请将 flex: 0 设置为 buttonsContainer,或者您可以避免使用 buttonsContainerflex 属性。

了解有关 Flex 的更多信息 here 。 希望这会有所帮助!

关于javascript - 我正在尝试使用 React-Native 将按钮放置在屏幕底部,但我真的很难理解如何通过 Flex 支持正确地做到这一点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54732133/

相关文章:

react-native - 如何将 EXPO 项目转移到 React Native 项目?

javascript - 创建一个对象来合并重复文件

javascript - jQuery 根据下拉列表中的选择更新 div

javascript - 我需要将空参数传递给 JavaScript 函数吗?

javascript - 找不到模块 '@babel/generator' 但已安装

javascript - React-Navigation - 标题与其屏幕组件的交互,失败的 Prop 类型

javascript - x 未定义 id = "0"- C3.js 堆积条形图

Javascript 在字符串中连接时更改日期格式

react-native - 如何在注销时从 react native drawer-navigator 中删除屏幕(卸载组件)?如何重新加载组件数据?

react-native - React Native 错误 : spawn gradlew. bat ENOENT