我是flexbox新手,无法在react native中生成全宽按钮.一天多来,我一直在试图弄明白这一点,但在互联网上阅读了每一篇相关文章/帖子,但都无济于事.

我想有两个TextInput元素,跨越整个屏幕宽度,下面有一个按钮,也跨越整个屏幕宽度.TextInput个元素are横跨整个屏幕,但在我运行的Android模拟器中,这似乎是默认情况.

这是我的代码:

 var MyModule = React.createClass({
render: function() {
    return (
        <View style={styles.container}>
            <View style={styles.headline}>
                <Text>Hello World</Text>
            </View>

            <View style={styles.inputsContainer}>
                <TextInput style={[styles.input]} placeholder="Email" />
                <TextInput
                    secureTextEntry={true}
                    style={[styles.input]}
                    placeholder="Password"
                />
                <TouchableHighlight
                    style={styles.fullWidthButton}
                    onPress={this.buttonPressed}
                >
                    <Text>Submit</Text>
                </TouchableHighlight>
            </View>
        </View>
    );
},
buttonPressed: function() {
    console.log("button was pressed!");
}
});

var paddingLeft = 15;

var styles = StyleSheet.create({
inputsContainer: {
    // Intentionally blank because I've tried everything & I'm clueless
},
fullWidthButton: {
    // Intentionally blank because I've tried everything & I'm clueless
},
input: {
    paddingLeft: paddingLeft,
    height: 40,
    borderColor: "black",
    backgroundColor: "white"
},
container: {
    flex: 1,
    backgroundColor: "#f0f0f0",
    alignItems: "stretch"
},
headline: {}
});

module.exports = Onboarding;

有人知道我需要做什么才能让TouchableHighlight跨越整个屏幕吗?

推荐答案

我来这里是想问同样的问题.经过进一步的实验,我发现最简单的方法是使用alignSelf: 'stretch'.这会迫使单个元素占据可用的全部宽度,例如.

 button: {
    alignSelf: 'stretch'
 }

纳德的答案当然有用,但这似乎是使用Flexbox的正确方法.

Reactjs相关问答推荐

react-hook-form问题:为什么getValues不返回大多数当前值?

从`redux—thunk`导入thunk `在stackblitz中不起作用

客户端组件中服务器组件的两难境地

安装后未渲染tailwind

使用REACT-RUTER-V6和ZUSTANDreact 中的身份验证

Next.js Next-Auth登录函数重定向到http://localhost:3000/api/auth/error

点击页脚链接时,如何更改ReactJS导航栏中的活动菜单项(样式为Tailwind CSS)?

Gitlab CI和VITE环境变量出现问题

React router v5 仅在生产中不适用于嵌套路由

当`useSelector`回调中的属性值更新时,将会使用更新后的值吗?

如何在屏幕上使用相同的可重用

图像路径很奇怪,部署 Next.js 应用程序后我看不到任何图像

React - 添加了输入数据但不显示

React - 使用 React 显示错误和积极alert

状态链接未传递到路由页面

Cypress 组件测试不渲染react 组件(但它的内容)

如何在 nextjs 中单击按钮时动态导入和渲染组件?

更新和删除功能不工作 Asp.net MVC React

如何使用react 路由将 url 参数限制为一组特定的值?

如果查询不存在,如何返回所有产品?