react-native - ReactNative 中视图内的平行视图
问题描述
我正在尝试生成一个组件,其中一个视图内有一个搜索栏,另一个视图内有几个按钮。像这样的东西:
我开发了这段代码,但我无法执行此并行视图。
import React from "react";
import { StyleSheet, View, FlatList, Image, Text, Item } from "react-native";
import { colorUtil } from "../../constants/Colours";
import { SearchBar, Button } from 'react-native-elements';
export default class App extends React.Component {
state = {
search: '',
};
updateSearch = search => {
this.setState({ search });
};
render() {
const { search } = this.state;
const styles = StyleSheet.create({
searchBarContainer: {
borderBottomWidth: 1,
borderBottomColor: '#e2e2e2',
height: 64,
backgroundColor: '#FFFFFF'
},
searchBarField: {
position: 'relative',
margin: 0,
width: '48%',
//padding: 44,
//fontSize: 14,
borderRadius: 80,
backgroundColor: '#E5E7E8'
},
btnField: {
borderBottomWidth: 1,
borderBottomColor: '#e2e2e2',
height: 64,
backgroundColor: '#FFFFFF'
}
});
return (
<View style={styles.searchBarContainer}>
<View style={styles.searchBarField}>
<SearchBar
lightTheme
onChangeText={this.updateSearch}
onClearText={this.updateSearch}
value={search}
icon={{ type: 'font-awesome', name: 'search' }}
placeholder='Find' />
</View>
<View style={styles.btnField}>
<Button
title="Solid Button"
/>
</View>
</View>
);
}
}
但结果不等于。我怎样才能使这些领域平行?
解决方案
您必须将父视图的 flex 方向设置为 row 以将所有内容放在同一行中。此外,删除 height 属性将正确对齐内容。
searchBarContainer: {
borderBottomWidth: 1,
borderBottomColor: '#e2e2e2',
height: 64,
backgroundColor: '#FFFFFF',
flexDirection: 'row',
alignItems: 'center',
},
btnField: {
borderBottomWidth: 1,
borderBottomColor: '#e2e2e2',
backgroundColor: '#FFFFFF',
},
推荐阅读
- java - JPA 和 MS SQL GenerationType.Identity 始终为空
- c# - .NET Framework 中的 DbProviderFactories.RegisterFactory?
- json - 需要将数据从一个文本文件附加到 linux 中的 json 文件
- sql-server - SQL Server 2019 中的标量 UDF 内联问题
- php - 带有 PHP Soap 请求的变音符号
- node.js - 带有帖子的映射条目的缩进错误
- sql - 跨多个数据库的 Azure SQL 触发器
- python - 获取请求,发送相同的参数但结果不同
- python - 如何避免不同版本的 pip 在同一目录中安装二进制文件?
- maven - maven 使用 properties-maven-plugin 从文件中读取版本