You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android平台Native Stack Navigator标题居中设置方法

React Native Native Stack Navigator 标题居中问题

我在使用Native Stack Navigator时遇到标题显示问题:期望标题在屏幕居中展示,但实际显示在左侧。

问题截图:
标题居左的问题截图

相关代码:

import {createNativeStackNavigator} from '@react-navigation/native-stack'

import HomeScreen from '../screens/HomeScreen';
import RestaurantDetailsScreen from '../screens/RestaurantDetails'
import DishDetaileScreen from '../screens/DishDetailsScreen';
import Busket from '../screens/Busket';
import OrderScreen from '../screens/OrderScreen';
import OrderDetails from '../screens/OrderDetails';

const Stack = createNativeStackNavigator();

const RootNavigator = () => {
    return(
        <Stack.Navigator initialRouteName="Restaurant">
            <Stack.Screen name="Home" component={HomeScreen}/>
            {/* <Stack.Screen 
            name="Restaurant" 
            component={RestaurantDetailsScreen}
            options={{headerShown: false}}/>
            */}
        </Stack.Navigator>
    )
}


export default RootNavigator

解决方案

要让Native Stack Navigator的标题居中,有两种实用方法:

  1. 全局统一设置(所有页面生效)
    在Stack.Navigator的screenOptions中添加headerTitleAlign: 'center'配置,所有栈内页面的标题会自动居中:
const RootNavigator = () => {
    return(
        <Stack.Navigator 
            initialRouteName="Restaurant"
            screenOptions={{ headerTitleAlign: 'center' }}
        >
            <Stack.Screen name="Home" component={HomeScreen}/>
            {/* 其他页面配置 */}
        </Stack.Navigator>
    )
}
  1. 单个页面独立设置
    如果仅需指定某一个页面标题居中,在对应Stack.Screen的options中配置即可:
<Stack.Screen 
    name="Home" 
    component={HomeScreen}
    options={{ headerTitleAlign: 'center' }}
/>

如果项目中使用了自定义头部组件,需要在自定义组件内手动处理标题布局,比如用alignItems: 'center'的容器包裹标题文本。


内容的提问来源于stack exchange,提问作者Akthar Farvees

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 13:05:03