我正在使用react导航库和react native,我想通过使用headerBackground和headerTitle屏幕选项创建一个自定义标题。
我需要一种健壮的方法来让headerTitle组件使用所有可用空间,但又不超出屏幕的限制。
到目前为止,我有(Snack link):
function App(): JSX.Element {
return (
<NavigationContainer>
<Stack.Navigator>
<Stack.Screen
name="Home"
options={{
headerBackground: () => (
<View
style={{
flex: 1,
backgroundColor: 'red',
borderColor: 'green',
borderWidth: 4,
}}
/>
),
headerTitle: props => (
<View
style={{
backgroundColor: 'blue',
flex: 1,
}}>
<Text>Header Title</Text>
</View>
),
}}>
{() => <SafeAreaView />}
</Stack.Screen>
</Stack.Navigator>
</NavigationContainer>
);
}
注意,我使用内联样式和其他一些不好的做法只是为了缩短这个问题的代码。
结果如下:
注意headerTitle组件是如何无限制地增长的。
有没有一个强大的方法来处理这个问题?注意我试图避免获得/使用设备的尺寸,因为在标题中可以是其他内容,如backButton,或右侧的其他选项按钮。
先谢了。
1条答案
按热度按时间eeq64g8w1#
下面是运行此代码代码示例,可能对您有所帮助:)
App.js