App.js 2.5 KB
Newer Older
Choi Ga Young's avatar
Choi Ga Young committed
1
import * as React from 'react';
YoonDongMin's avatar
YoonDongMin committed
2
import { StyleSheet, View, Text, TextInput, Button, Keyboard, TouchableWithoutFeedback } from 'react-native';
Choi Ga Young's avatar
Choi Ga Young committed
3
4
5
6
7
8
import { NavigationContainer } from '@react-navigation/native';
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
import Ionicons from 'react-native-vector-icons/Ionicons';
import Monthly from './Monthly';
import Analy from './Analy';
import MoneyDB from './MoneyDB';
Test User's avatar
Test User committed
9

YoonDongMin's avatar
YoonDongMin committed
10

Choi Ga Young's avatar
Choi Ga Young committed
11
12
13
14
function MainScreen({ navigation }) {
  const [number, onChangeNumber] = React.useState(null);
  return (
    <>
YoonDongMin's avatar
YoonDongMin committed
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
      <TouchableWithoutFeedback onPress={() => {
        Keyboard.dismiss();
        
      }}>
        <View style={{flex: 1}}>
        <View >
          <Text style={style.Font}>여기는 메인 페이지 입니다.</Text>
          <Text style={style.Font}>아래는 input 테스트를 위한 것입니다.</Text>
          <TextInput
            style={style.TextInput}
            onChangeText={onChangeNumber}
            keyboardType="numeric"
          />
          <Text>입력한 숫자 보기: {number} </Text>
        </View>

         <Button
Choi Ga Young's avatar
Choi Ga Young committed
32
33
        title="월별 페이지로 이동"
        onPress={() => navigation.navigate('Monthly')}
YoonDongMin's avatar
YoonDongMin committed
34
        />  
Choi Ga Young's avatar
Choi Ga Young committed
35
      <MoneyDB />
YoonDongMin's avatar
YoonDongMin committed
36
37
38
      </View>
      </TouchableWithoutFeedback>
      
YoonDongMin's avatar
YoonDongMin committed
39
    </>
Choi Ga Young's avatar
Choi Ga Young committed
40
41
  )
}
Test User's avatar
Test User committed
42

YoonDongMin's avatar
YoonDongMin committed
43
44


Choi Ga Young's avatar
Choi Ga Young committed
45
const Tab = createBottomTabNavigator();
Test User's avatar
Test User committed
46

Choi Ga Young's avatar
Choi Ga Young committed
47
function App() {
Test User's avatar
Test User committed
48
  return (
YoonDongMin's avatar
YoonDongMin committed
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
    <NavigationContainer>
      <Tab.Navigator screenOptions={({ route }) => ({
        tabBarIcon: ({ focused, color, size }) => {
          let iconName;

          if (route.name === 'Main') {
            iconName = focused ? 'home' : 'home-outline';
          } else if (route.name === 'Monthly') {
            iconName = focused ? 'calendar' : 'calendar-outline';
          } else if (route.name === 'Analy') {
            iconName = focused ? 'bar-chart' : 'bar-chart-outline';
          }
          // You can return any component that you like here!
          return <Ionicons name={iconName} size={size} color={color} />;
        },
      })}
        tabBarOptions={{
          activeTintColor: 'tomato',
          inactiveTintColor: 'gray',
        }}>
        <Tab.Screen name="Main" component={MainScreen} />
        <Tab.Screen name="Monthly" component={Monthly} />
        <Tab.Screen name="Analy" component={Analy} />
      </Tab.Navigator>
    </NavigationContainer>
Test User's avatar
Test User committed
74
75

  );
Choi Ga Young's avatar
Choi Ga Young committed
76
}
Test User's avatar
Test User committed
77

Choi Ga Young's avatar
Choi Ga Young committed
78
79
80
81
82
83
const style = StyleSheet.create({
  TextInput: {
    borderColor: 'skyblue',
    height: 40,
    margin: 12,
    borderWidth: 1
Test User's avatar
Test User committed
84
  },
Choi Ga Young's avatar
Choi Ga Young committed
85
86
87
  Font: {
    fontSize: 24
  }
Test User's avatar
Test User committed
88
89
});
export default App;