74 lines
1.9 KiB
TypeScript
74 lines
1.9 KiB
TypeScript
import { Tabs } from 'expo-router';
|
|
import React from 'react';
|
|
import { Platform } from 'react-native';
|
|
import { Ionicons } from '@expo/vector-icons';
|
|
|
|
import { HapticTab } from '@/components/haptic-tab';
|
|
import { AppColors } from '@/constants/theme';
|
|
|
|
export default function TabLayout() {
|
|
|
|
return (
|
|
<Tabs
|
|
screenOptions={{
|
|
tabBarActiveTintColor: AppColors.mediumPurple,
|
|
tabBarInactiveTintColor: AppColors.slatePurple,
|
|
headerShown: false,
|
|
tabBarButton: HapticTab,
|
|
tabBarStyle: {
|
|
backgroundColor: AppColors.white,
|
|
borderTopColor: 'rgba(32, 0, 40, 0.08)',
|
|
borderTopWidth: 1,
|
|
height: Platform.OS === 'ios' ? 90 : 70,
|
|
paddingTop: 8,
|
|
paddingBottom: Platform.OS === 'ios' ? 30 : 10,
|
|
},
|
|
tabBarLabelStyle: {
|
|
fontSize: 11,
|
|
fontWeight: '500',
|
|
marginTop: 2,
|
|
},
|
|
}}>
|
|
<Tabs.Screen
|
|
name="index"
|
|
options={{
|
|
title: '聊天',
|
|
tabBarIcon: ({ color, focused }) => (
|
|
<Ionicons
|
|
name={focused ? 'chatbubble' : 'chatbubble-outline'}
|
|
size={24}
|
|
color={color}
|
|
/>
|
|
),
|
|
}}
|
|
/>
|
|
<Tabs.Screen
|
|
name="memoir"
|
|
options={{
|
|
title: '回忆录',
|
|
tabBarIcon: ({ color, focused }) => (
|
|
<Ionicons
|
|
name={focused ? 'book' : 'book-outline'}
|
|
size={24}
|
|
color={color}
|
|
/>
|
|
),
|
|
}}
|
|
/>
|
|
<Tabs.Screen
|
|
name="profile"
|
|
options={{
|
|
title: '我的',
|
|
tabBarIcon: ({ color, focused }) => (
|
|
<Ionicons
|
|
name={focused ? 'person' : 'person-outline'}
|
|
size={24}
|
|
color={color}
|
|
/>
|
|
),
|
|
}}
|
|
/>
|
|
</Tabs>
|
|
);
|
|
}
|