본문 바로가기

전체 글

(730)
[Flutter] 화면 이동간 데이터 전달 화면 이동하는 걸 전 포스팅에서 다뤘다. 그러면 이동간 데이터 전달은 어떻게 할까? 우선 해당 위젯에 대한 생성자에 파라미터를 추가해주고 넘기면 된다. 1. push , pop의 경우 값을 넘겨주기 단순 값. 전송부 Navigator.of(context).push( MaterialPageRoute( builder: (BuildContext context) => Scene2(), settings: RouteSettings(arguments: '전송한 데이터'), ), ); 단순 값 수신부 @override Widget build(BuildContext context) { final arguments = ModalRoute.of(context)!.settings.arguments; print(argument..
[Flutter] 플러터 화면 이동 GestureDetector로 컴포넌트를 감싼다. 해당 으로 컴포넌트 당 클릭이나 이벤트가 발생할때 동작하는지 보자. 해당으로 하게 되면, 컨테이너를 클릭하면 gd가 프린트 된다. GestureDetector( onTap: (){print('gd');}, child: Container( // autogroupnhff9QD (GhkWyreBLNBRcThyFanhFF) width: double.infinity, height: 60*fem, decoration: BoxDecoration ( color: Color(0xffca3c3c), ), child: Center( child: Text( 'Login', style: SafeGoogleFont ( 'Inter', fontSize: 12*ffem, fontWe..
[Flutter] assets에 추가하고 IOS 빌드에 추가 IOS 빌드에 추가하고, 해당 이미지를 외부에서 사용해야할때가 있다. 시작해보자 1. Images 폴더 생성후 이미지 넣기 2. pubspec.yaml의 assets부분 수정 3. pub get 4.그대로 사용 5. 빌드 결과 확인
[Flutter] 피그마로 레이아웃 잡고 소스뽑기 우선 그럴싸한 페이지가 필요하다. 내가 직접 레이아웃을 짜는건 시간 대비 진행이 느리다. 1. figma에서 레이아웃을 만들어보자 사실 샘플이라, 이렇게 간략하게 만들수 있다. 로그인 버튼을 누르면 다음 레이아웃으로 이동하고, 해당 이동된 레이아웃에서는 Button이 있어, 이를 클릭하면 다른 팝업이나 신규 경로로 이동하고, 아래 버튼을 누르면 돌아간다. 2번째 레이아웃 상단에는 이미지를 넣어서 체크를 할 예정이다(리사이징 같은 ) 뭐 무튼 이렇게 레이아웃 잡은 걸 기준으로 Next! 2.Funtion12 피그마의 레이아웃을 플러터 소스로 간편하게 구현해주는것이다. 실제로 이렇게 하면, 레이아웃을 잡는데 들이는 소스를 확 줄여준다. 내가 디자이너나 기획자 퍼블리셔를 할거면 이걸 직접 소스를 짜면 좋겠지만..
[Java] Generic ! 제네릭에 대해서 좀 더 심화된 부분을 공부해보자 ObjectMapper에 대해서 공부를 하다가. 생긴 궁금증은 꼬리의 꼬리를 물었고, 내가 모르는 부분까지 봉착했다. 결과적으로 ObjectMapper를 사용할때 제네릭 관련 변수로 뺄때 왜 TypeReference를 선언해야하는지 이해가 안됬다. 정확히는 이유를 정확하게 몰랐다. 제네릭의 type erasure에 대해서 먼저 알아야 한다. 타입 소거라고도 한다. 런타임에 타입에 대한 정보를 버리는 것이다. bounded type -> bound type unbouned type -> Object 1) Unbounded Type public class SmithTest { public static T unboundedType(T t) { return t; ..
[Flutter] Widget 별 가독성 향상 별건아니고, 저번 포스팅에서 너무 계층이 많다보니, 가독성이 떨어져서 위젯별로 리턴하는 펑션을 분리하고, 해당 펑션으로 대체하여 계층소스에 추가하였다. 이렇게 하니, 좀더 명확하고 직관적이여서 보기 편했다. 추천! 개인적으로 State의 소스가 너무 길어지면... 뎊스에 대해서 헷갈린다. import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; void main() => runApp(LoginApp()); class LoginApp extends StatelessWidget{ @override Widget build(BuildContext context) { return MaterialApp( debugShowChec..
[Flutter] 간단한 로그인 화면 간단하게 위젯 배치로 로그인 화면에 대한 구성을 개발 해보자 간단하게 보면 아래와 같은 구조로 시작해야한다. Stateful 이던 state이던 필수로 구현해야하는 메소드가 있기 때문이다. import 'package:flutter/cupertino.dart'; class LoginPage extends StatefulWidget { LoginPage({Key? key}) : super(key: key); @override State createState() => _LoginPageState(); } class _LoginPageState extends State{ @override Widget build(BuildContext context) { // TODO: implement build throw ..
[Flutter] 화면 구성 위젯 이해하기 1) Container 위젯 별도로 컨테이너에 크기를 지정하면 아래와 같이 변경된다. 컨테이너 안에 컨테이너를 생성할 수 있다. 우선 차일드에 하나의 텍스트를 추가해보자 해당 마진을 주면, 각각의 영역에 마진이 생기게 된다. 이와 반대로 패딩의 개념이 있다. 추가로 컨테이너나 디바이스에 대한 길이값을 알 수있다. 고정된 길이나 높이가 아니라 디바이스 대비 길이나 높이를 구할수 있는 것이다. height: MediaQuery.of(context).size.height/2, 해당 값으로 주게 되면, 디바이스 기준으로 데이터가 설정되게 된다. 2) Column 위젯 여러개의 자식 옵션을 가질수 있다는 특징이 있다. 컬럼말고도 Row 위젯이 있다. 가로로 정렬하냐, 세로로 정렬하냐의 차이가 전부이다. 3) Ro..