1.테마/컬러 수정

2. UI 텍스트 한국어 번역
3. SettingScreen(설정 페이지) -현재 페이지는 레이아웃만 완성되었으며, 토글 스위치 및 링크 연결 기능은 미완성 상태입니다.
This commit is contained in:
KIMGYEONGRAN
2025-12-01 17:55:38 +09:00
parent c1d8fc597d
commit acb297fec1
9 changed files with 1178 additions and 659 deletions

View File

@@ -7,6 +7,12 @@ import 'package:smarthelmet_app/rent_return_screen.dart';
import 'package:smarthelmet_app/settings_screen.dart';
import 'package:smarthelmet_app/login_screen.dart';
final Color _mainBlueColor = const Color(0xFF002FA7);
final Color _mainTextColor = const Color(0xFF1C1C1E);
final Color _subTextColor = const Color(0xFF6A717B);
final Color _pageBackgroundColor = const Color(0xFFF5F7F9);
final Color _cardBackgroundColor = Colors.white;
void main() {
runApp(const SmartHelmetApp());
}
@@ -18,22 +24,22 @@ class SmartHelmetApp extends StatelessWidget {
Widget build(BuildContext context) {
SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(
statusBarColor: Colors.transparent,
statusBarIconBrightness: Brightness.light,
statusBarIconBrightness: Brightness.dark,
));
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
brightness: Brightness.dark,
scaffoldBackgroundColor: const Color(0xFF27292B),
primaryColor: const Color(0xFF30343B),
brightness: Brightness.light,
scaffoldBackgroundColor: _pageBackgroundColor,
primaryColor: _mainBlueColor,
fontFamily: 'Pretendard',
textTheme: const TextTheme(
bodyLarge: TextStyle(color: Colors.white, fontWeight: FontWeight.w500),
bodyMedium: TextStyle(color: Colors.white70, fontWeight: FontWeight.w400),
textTheme: TextTheme(
bodyLarge: TextStyle(color: _mainTextColor, fontWeight: FontWeight.w500),
bodyMedium: TextStyle(color: _subTextColor, fontWeight: FontWeight.w400),
),
),
home: LoginScreen(),
home: const HomeScreen(),
);
}
}
@@ -81,19 +87,37 @@ class _HomeScreenState extends State<HomeScreen> {
});
},
type: BottomNavigationBarType.fixed,
backgroundColor: const Color(0xFF1C1C1E),
backgroundColor: _mainBlueColor,
elevation: 0,
selectedItemColor: Colors.white,
unselectedItemColor: Colors.grey,
unselectedItemColor: Colors.white70,
showUnselectedLabels: true,
selectedFontSize: 12,
unselectedFontSize: 12,
selectedLabelStyle: const TextStyle(fontWeight: FontWeight.bold, height: 1.5),
unselectedLabelStyle: const TextStyle(fontWeight: FontWeight.bold, height: 1.5),
iconSize: 22,
items: const [
BottomNavigationBarItem(icon: Icon(Icons.home), label: 'HOME'),
BottomNavigationBarItem(icon: Icon(Icons.history), label: 'HISTORY'),
BottomNavigationBarItem(icon: Icon(Icons.settings_input_component), label: 'CONTROL'),
BottomNavigationBarItem(icon: Icon(Icons.assignment_return_outlined), label: 'RENT/RETURN'),
BottomNavigationBarItem(icon: Icon(Icons.settings), label: 'SETTINGS'),
BottomNavigationBarItem(
icon: Padding(padding: EdgeInsets.only(bottom: 2.0), child: Icon(Icons.home)),
label: '',
),
BottomNavigationBarItem(
icon: Padding(padding: EdgeInsets.only(bottom: 2.0), child: Icon(Icons.history)),
label: '기록',
),
BottomNavigationBarItem(
icon: Padding(padding: EdgeInsets.only(bottom: 2.0), child: Icon(Icons.settings_input_component)),
label: '제어',
),
BottomNavigationBarItem(
icon: Padding(padding: EdgeInsets.only(bottom: 2.0), child: Icon(Icons.assignment_return_outlined)),
label: '대여 / 반납',
),
BottomNavigationBarItem(
icon: Padding(padding: EdgeInsets.only(bottom: 2.0), child: Icon(Icons.settings)),
label: '설정',
),
],
),
),