본문 바로가기

Flutter

Flutter - ListView.builder

앞서 ListView 로 스크롤이 생기는 여러 항목을 만들었는데

 

그 안에 Row를 이용해 Text 와 Icons을 넣었다. 

하지만 ListTile을 이용하면 좀 더 수월하게 할 수 있다.

 

ListTile 더 많은 속성들

https://youtu.be/l8dj0yPBvgQ

 

ListTile(
  leading : Image.asset('assets/profile.png'),
  title : Text('홍길동')
)

 

 

이렇게 바로바로 넣어 줄 수 있다.

 

하지만 이것도 각 항목을 일일히 만드는데 

목록을 동적으로 많이 만들경우에 

 

ListView.builder() 를 사용한다.

 

 

ListView.builder(
  itemCount: 20,
  itemBuilder: (context, i) {
    return Text('안녕');
  }
);

리스트 갯수 20개 

그리고 itemBuilder 에 두가지 파라미터가 있는데 context는 나중에 배움 

i는 반복시 +1이 되는 정수

 

print()를 통해서 바뀌는 부분을  console창을 통해서 확인 가능함

 

 

다음은 floatingActionButtion 인데 

하단 공중에 뜬 버튼이다

    home: Scaffold(
         floatingActionButton: FloatingActionButton(
           child: Text('버튼'),
           onPressed: (){},

 

버튼 같이 클릭시 실행되는 함수를 파라미터로 가진다.

 

 

 

 

a 라는 변수를 만들고 클릭시 +1 을 하게 코드를 만든뒤에 

'버튼' 이란 Text 대신 a 를 넣어도 변경사항이 반영되지 않는데 (넣을때 a 가 아닌 a.toString() 으로 Text는 문자만 입력가능)

이는 렌더링을 하지 않아서 그렇다 

이건 다음시간에