-
-
Notifications
You must be signed in to change notification settings - Fork 5k
/
HeaderTitle.tsx
51 lines (47 loc) · 1014 Bytes
/
HeaderTitle.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import * as React from 'react';
import {
Animated,
StyleSheet,
Platform,
TextProps,
StyleProp,
TextStyle,
} from 'react-native';
import { useTheme } from '@react-navigation/native';
type Props = Omit<TextProps, 'style'> & {
tintColor?: string;
children?: string;
style?: Animated.WithAnimatedValue<StyleProp<TextStyle>>;
};
export default function HeaderTitle({ tintColor, style, ...rest }: Props) {
const { colors } = useTheme();
return (
<Animated.Text
accessibilityRole="header"
numberOfLines={1}
{...rest}
style={[
styles.title,
{ color: tintColor === undefined ? colors.text : tintColor },
style,
]}
/>
);
}
const styles = StyleSheet.create({
title: Platform.select({
ios: {
fontSize: 17,
fontWeight: '600',
},
android: {
fontSize: 20,
fontFamily: 'sans-serif-medium',
fontWeight: 'normal',
},
default: {
fontSize: 18,
fontWeight: '500',
},
}),
});