React-navigation docsはまだ若く、問題を読むことは私にとってはあまり機能していません(各バージョンの変更)Android using react-navigation
in React Native?
headerTitleStyle を使用します。
static navigationOptions = {
headerTitleStyle: { alignSelf: 'center' },
title: 'Center Title',
}
2018年、react-navigation v2リリース(2018年4月7日)後、何らかの理由でalignSelf
が機能しなくなりました。ここでは、 headerLayoutPreset を使用した新しい作業方法です。 @HasanSHから:
const HomeActivity_StackNavigator = createStackNavigator({
Home: {screen: Main},
}, {headerLayoutPreset: 'center'});
ヘッダータイトルを中央に配置するには、flexプロパティを追加してフレックスヘッダーを作成する必要があります。
navigationOptions: {
title: "Title center",
headerTitleStyle: {
textAlign:"center",
flex:1
},
}
受け入れられた答えは、左側に戻るボタンがない場合にのみ機能します。その場合は、空のビューを右側に設定して、適切に中央に配置する必要があります。
static navigationOptions = {
headerTitleStyle: { alignSelf: 'center' },
title: 'Center Title',
headerRight: (<View />)
}
それを行うための最良の方法は、ドキュメントにリストされているものを実装することです:StackNavigatorConfig
内で、次のようにオプションのプロパティを割り当てます。
createStackNavigator({
{ ... // your screens},
{ ...,
headerLayoutPreset: 'center' // default is 'left'
})
headerLayoutPreset
-ヘッダーコンポーネントのレイアウト方法を指定します。
これを行うことで、スタイリングを台無しにする必要はまったくありません。そして、そのスタック内のすべてのネストされた画面に適用されます。
ソース を確認してください
static navigationOptions = {
title: "SAMPLE",
headerTitleStyle: { flex: 1, textAlign: 'center'},
};
これはAndroid&iOS:
static navigationOptions = {
headerTitleStyle: {
textAlign: 'center',
flexGrow: 1,
},
headerRight: (<View/>)
};
navigationOptions:({navigation}) =>({
gesturesEnabled :false,
headerTitleStyle : {
color:"white",
fontFamily:"OpenSans",
alignSelf: 'center' ,
textAlign: 'center',
flex:1
},
}),
ここに 。 => {flex:1 ,textAlign: 'center' and alignSelf: 'center'}
私のために働く!
headerTitleContainerStyle を使用します
static navigationOptions = {
headerTitleStyle: { justifyContent: 'center' },
}
中央に反応ナビゲーションヘッダーのタイトルを設定します。 headerTitleStyle CSSを使用します。
static navigationOptions = {
title: 'Home',
headerTintColor: '#fff',
headerTitleStyle: {
width: '90%',
textAlign: 'center',
},
};
headerTitleStyle: {
color: 'white',
textAlign: 'center',
flex: 1
}
HeaderLayoutPreset: 'center'をcreateeStackNavigator関数に追加する必要があります。
これが1つの真の方法です。
const someStack = createStackNavigator({
ConfigurationScreen: ConfigurationScreen,
PreferencesScreen: PreferencesScreen},
{ headerLayoutPreset: 'center' });
参照: https://github.com/react-navigation/react-navigation/pull/4588
これは間違いなくAndroidで動作します
headerTitleStyle:{
flex: 1, textAlign: 'center'
},