トップに検索バーがあるように、Googleマップに似たアプリを作成したいと思います。 私はReact Nativeを初めて使っていますが、これを達成する方法がわかりません。 position:absolute, top: 5
などでTextInputだけを使用すると、それが動作し、コンポーネントがマップに配置されます。 これをSearchBar
というカスタムコンポーネントにラップすると、マップの/の下にある画面の一番下に移動します。私は目標をSearchBar
のカスタムコンポーネントに持っているので、それをラップする必要がありますTextInput
とButton
があります。React Nativeに子を持つ絶対配置コンポーネントを作成する正しい方法は何ですか?
検索バー:
class SearchBar extends Component {
render() {
return (
<View style={styles2.container}>
<TextInput
style={styles2.input}
placeholder="Enter your start point"
onChangeText={text => console.log({text})}
/>
<Button style={styles2.button} title="+" onPress={() => undefined} />
</View>
)
}
}
const styles2 = StyleSheet.create({
container: {
flexDirection: 'row',
backgroundColor: 'white',
},
input: {
flex: 1,
},
button: {
width: 50,
height: 50,
borderRadius: 25,
backgroundColor: 'blue',
},
})
メインビュー:
class Main extends Component {
render() {
return (
<View style={styles.container}>
<Map style={styles.map} />
<SearchBar/>
</View>
)
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'stretch',
backgroundColor: 'transparent',
},
searchBar: {
position: 'absolute',
left: 10,
top: 10,
right: 10,
height: 50,
zIndex: 1,
backgroundColor: 'white',
},
map: {
flex: 1,
},
})