React Navigation源代码阅读 :views/Header/HeaderTitle.js

本文介绍了一个React Native中用于自定义导航头标题组件的例子。该组件基于Animated.Text实现,并根据平台不同调整样式。开发人员可以通过navigationOptions.headerTitle来自定义头部标题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import React from 'react';
import {Text, View, Platform, StyleSheet, Animated} from 'react-native';

const AnimatedText = Animated.Text;

/**
 * react-navigation 缺省的 HeaderTitle 实现,
 * 但是如果开发人员通过参数 navigationOptions.headerTitle 提供了自定义的 header title 实现,
 * 会使用开发人员所指定的那个,这个缺省的就不会被使用
 *
 * @param style 样式属性 style
 * @param rest 其他属性 props
 * @return {*}
 * @constructor
 */
const HeaderTitle = ({style, ...rest}) => (
    <AnimatedText
        numberOfLines={1}
        {...rest}
        style={[styles.title, style]}
        accessibilityTraits="header"
    />
);

const styles = StyleSheet.create({
    // 注意,这里定义了缺省头部标题文字的 大小,粗细,颜色,对齐方式,水平边距等,
    // 如果你不使用自定义 headerTitle 但是又想修改头部标题的样式,注意覆盖下面的
    // 缺省样式属性
    title: {
        fontSize: Platform.OS === 'ios' ? 17 : 20,
        fontWeight: Platform.OS === 'ios' ? '700' : '500',
        color: 'rgba(0, 0, 0, .9)',
        textAlign: Platform.OS === 'ios' ? 'center' : 'left',
        marginHorizontal: 16,
    },
});

export default HeaderTitle;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值