ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 13. flutter container, state
    toy_project 2022. 5. 16. 23:33
    728x90

    대충 예쁘게 꾸며보았다

    컨테이너에 마진을 주고 그림자 효과와

    appbar를 추가하여 title로 데스매치게임을 달아주고

    buttom navigation을 복붙해왔다

    저 세 버튼은 onpressed만 채워주면 화면이동이 될 것같다는 느낌을 받는다

     

    이제 내가 할건

    데스매치에서 선택하고 싶은 위젯을 눌렀을 때 다음 매치로 넘어가는 화면을 만들 것이다.

    사실 화면이 넘어 가는 것이 아니라 컨테이너 안에 있는 텍스트가 다음으로 넘어가는 것!

     

    코딩애플을 보니 버튼을 눌렀을 때 재랜더링을 해주면 된다고 한다

     

    데이터는 변수에 저장을 하지만

    플러터에서는 자료를 잠깐 저장하고 싶을 때 변수말고 state를 사용한다고 한다

    컨테이너는 그대로고 안에있는 텍스트만 계속 바꿔주는 것이기 때문에 text를 잠깐 저장해 놓기에는 변수보다 state를 사용하는것이 좋다고 한다 -> 위젯들이 자동으로 재랜더링 되기 때문

     

    그래서 state를 어떻게 쓰냐?

    1. StatefulWidget으로 만들기

    -> 내가 저 캡쳐 화면처럼 만든 코드는 statelessWidget이다

    statful하고 탭 누르면 statfulWidget을 자동으로 생성해준다

     

    2. statelessWidget에서 state사용하기

    statelessWifget에 마우스대고 전구 클릭  > 자동으로 fulwidget으로 바꿔줌

     

    class _MyAppState extends State<MyApp> {

    이 밑에다가 변수를 선언해서 클릭이벤트가 일어났을때 재랜더링을 실행하도록 한다

     

    import 'package:flutter/material.dart';
    
    void main() {
      runApp(MyApp());
    }
    
    
    class MyApp extends StatefulWidget{
      const MyApp({Key? key}) : super(key: key);
    
      @override
      State<MyApp> createState() => _MyAppState();
    }
    class _MyAppState extends State<MyApp> {
      var death = ['찍먹', '민초파', '깻잎떼준다'];
      var match = ['부먹', '반민초', '냅둔다'];
      var i = 0;

    클릭이벤트가 일어날때마다 i를 ++ 해주어 다음 탄으로 넘어가도록 할것이다.

    0번째 텍스트는 잘 나온다

    이제 클릭이벤트를 줄것이다

    그리고 저 다음재생 버튼을 누르게 되면 이 질문은 절대 고를 수 없으니까 넘어가자 라는 의미의 다음 버튼이다

    저 버튼을 눌러도 i를 ++ 해줄것이다

     

     

    floatingActionButton: FloatingActionButton(
      backgroundColor: Colors.white,
      onPressed: () {i++; print(death[i]);print(match[i]);},
      child: Icon(Icons.skip_next, color: Color(0xff212b4b),),
    ),

    버튼을 누르면 가끔 잘됐다가 다시 안됐다가 한다

    안될 거면 끝까지 안될것이지

    됐다 안됐다하는건 뭘까

    728x90

    'toy_project' 카테고리의 다른 글

    14. ELK  (0) 2022.08.21
    12. 플러터 시작  (0) 2022.05.16
    11. airflow 튜토리얼  (0) 2022.05.09
    10. airflow 기초  (0) 2022.05.04
    09. 엘라스틱 서치 조회하기  (0) 2022.05.04
Designed by Tistory.