스플래시 화면 기능 추가 및 개선

This commit is contained in:
hansoo
2025-03-16 21:35:59 +09:00
parent a84ab79a01
commit a030e0cb5b
6 changed files with 18 additions and 5 deletions

View File

@@ -10,6 +10,7 @@ android {
apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle"
dependencies {
implementation project(':capacitor-keyboard')
implementation project(':capacitor-splash-screen')
}

View File

@@ -1,4 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">

View File

@@ -4,6 +4,7 @@ package com.lovable.zellyfinance;
import android.os.Bundle;
import com.getcapacitor.BridgeActivity;
import com.getcapacitor.Plugin;
import com.capacitorjs.plugins.splashscreen.SplashScreenPlugin;
public class MainActivity extends BridgeActivity {
@Override
@@ -11,6 +12,6 @@ public class MainActivity extends BridgeActivity {
super.onCreate(savedInstanceState);
// 스플래시 화면 처리를 위한 추가 초기화 코드
registerPlugin(com.capacitorjs.plugins.splashscreen.SplashScreenPlugin.class);
registerPlugin(SplashScreenPlugin.class);
}
}

View File

@@ -1,4 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
@@ -17,8 +16,9 @@
</style>
<style name="AppTheme.NoActionBarLaunch" parent="Theme.SplashScreen">
<style name="AppTheme.NoActionBarLaunch" parent="AppTheme.NoActionBar">
<item name="android:background">@drawable/splash</item>
<item name="android:statusBarColor">@color/ic_launcher_background</item>
<item name="android:windowFullscreen">true</item>
</style>
</resources>

View File

@@ -4,3 +4,6 @@ project(':capacitor-android').projectDir = new File('../node_modules/@capacitor/
include ':capacitor-keyboard'
project(':capacitor-keyboard').projectDir = new File('../node_modules/@capacitor/keyboard/android')
include ':capacitor-splash-screen'
project(':capacitor-splash-screen').projectDir = new File('../node_modules/@capacitor/splash-screen/android')

View File

@@ -1,5 +1,5 @@
import React from 'react';
import React, { useEffect } from 'react';
import { BrowserRouter as Router, Route, Routes } from 'react-router-dom';
import './App.css';
import Login from './pages/Login';
@@ -20,6 +20,7 @@ import PaymentMethods from './pages/PaymentMethods';
import Settings from './pages/Settings';
import { BudgetProvider } from './contexts/BudgetContext';
import PrivateRoute from './components/auth/PrivateRoute';
import { SplashScreen } from '@capacitor/splash-screen';
// 전역 오류 핸들러
const handleError = (error: any) => {
@@ -72,6 +73,14 @@ class ErrorBoundary extends React.Component<
}
function App() {
// 앱 시작 시 스플래시 화면 초기화
useEffect(() => {
// 스플래시 화면 표시 시간 설정 (3초)
setTimeout(() => {
SplashScreen.hide();
}, 3000);
}, []);
return (
<ErrorBoundary>
<AuthContextWrapper>