feat: 添加page示例

This commit is contained in:
2025-11-06 22:48:08 +08:00
parent b3a06f7f9e
commit f551a26a0a
7 changed files with 83 additions and 80 deletions

View File

@@ -298,7 +298,7 @@ export default function DemoScreen() {
style={[styles.button, styles.primaryButton]}
onPress={() => {
haptics.light();
router.push('/test-page');
router.push('/test');
}}
>
<Text style={styles.buttonText}> </Text>

View File

@@ -1,119 +0,0 @@
import { StyleSheet, ScrollView } from 'react-native';
import { Stack, useRouter } from 'expo-router';
import { ThemedText, ThemedView } from '@/components';
/**
* 测试页面
*
* 这是一个独立的业务页面示例,不包含底部 tabs
*
* 特点:
* - 带有返回按钮的 header
* - 不包含底部导航栏
* - 可以作为业务页面的模板
*/
export default function TestPage() {
const router = useRouter();
return (
<>
{/* 配置页面 header */}
<Stack.Screen
options={{
title: '测试页面',
headerShown: true,
headerBackTitle: '返回',
}}
/>
<ThemedView style={styles.container}>
<ScrollView style={styles.scrollView}>
<ThemedView style={styles.content}>
<ThemedText type="title" style={styles.title}>
</ThemedText>
<ThemedText style={styles.description}>
tabs
</ThemedText>
<ThemedView style={styles.section}>
<ThemedText type="subtitle"></ThemedText>
<ThemedText style={styles.item}> header</ThemedText>
<ThemedText style={styles.item}> </ThemedText>
<ThemedText style={styles.item}> </ThemedText>
<ThemedText style={styles.item}> </ThemedText>
</ThemedView>
<ThemedView style={styles.section}>
<ThemedText type="subtitle">使</ThemedText>
<ThemedText style={styles.item}> </ThemedText>
<ThemedText style={styles.item}> </ThemedText>
<ThemedText style={styles.item}> </ThemedText>
<ThemedText style={styles.item}> </ThemedText>
</ThemedView>
<ThemedView style={styles.section}>
<ThemedText type="subtitle"></ThemedText>
<ThemedText style={styles.item}>
文件路径: app/test-page.tsx
</ThemedText>
<ThemedText style={styles.item}>
访: /test-page
</ThemedText>
<ThemedText style={styles.item}>
跳转方式: router.push('/test-page')
</ThemedText>
</ThemedView>
<ThemedView style={styles.infoBox}>
<ThemedText type="defaultSemiBold">💡 </ThemedText>
<ThemedText style={styles.infoText}>
screens/
app/
</ThemedText>
</ThemedView>
</ThemedView>
</ScrollView>
</ThemedView>
</>
);
}
const styles = StyleSheet.create({
container: {
flex: 1,
},
scrollView: {
flex: 1,
},
content: {
padding: 20,
},
title: {
marginBottom: 16,
},
description: {
marginBottom: 24,
lineHeight: 24,
},
section: {
marginBottom: 24,
},
item: {
marginTop: 8,
marginLeft: 8,
lineHeight: 24,
},
infoBox: {
padding: 16,
borderRadius: 8,
backgroundColor: 'rgba(0, 122, 255, 0.1)',
marginTop: 8,
},
infoText: {
marginTop: 8,
lineHeight: 22,
},
});

2
app/test.tsx Normal file
View File

@@ -0,0 +1,2 @@
import { TestPage } from '@/pages';
export default TestPage;