๋ฐ๋ณต๋๋ ๋ถ๋ถ์ ์์ ์ฐ์ง ์๊ณ ๋ฐ๋ณตํด์ ๋ง๋ค ์ ์๋ค. ์ด ๋ ์ธ ์ ์๋ ๊ฒ์ด ListView.builder ์ด๋ค.
โพ Example

์ง๊ธ๋ถํฐ ๋ง๋ค์ด ๋ณผ ๋ถ๋ถ์ธ๋ฐ ๋ณด๋ผ์์ด list_view๋ถ๋ถ์ด๊ณ icons๊ฐ ํ๋์๋ถ๋ถ์ด๋ค
โพ Code
list_view์ ๋ฐ๋ณต๋๋ ๋ถ๋ถ์ ๋ฐ๋ก ํ์ผ(icons.dart)๋ก ๋นผ์ ๋ํ๋๊ฑฐ๋ค.
list_view.dart
                Container(
                  margin: EdgeInsets.only(top: 10, bottom: 20),
                  child: Text('${descList[index]}'),
                ),
                Row(
                  mainAxisAlignment: MainAxisAlignment.spaceBetween,
                  children: <Widget>[
                    Text(
                      '${majorList[index]}',
                      style: TextStyle(color: Colors.grey),
                    ),
                    Container(
                      child: iconList(),
                    ),
                  ],
                ),
              ]));์ด ๋ถ๋ถ์ ์ฐพ์๋ณด๋ ค๊ณ ๊ตฌ๊ธ๋ง์ ์์ฒญํ๋๋ฐ, ๋ค๋ค body:์ ๋์ ํ๋๊ฑฐ๋ง ์์ด์ container๋ ๋ค๋ฅธ widget์๋ ์ด๋ป๊ฒ ๋์ ํด์ผํ๋๊ฑธ๊น?๋ผ๋ฉฐ ๊ณ ๋ฏผ์ ์ง์ง ๋ง์ด ํ์๋ค. ๊ฒฐ๋ก ์ ์ผ๋ก๋ ๋ณ๊ฒ ์์๋ค. Row ์์ widget๋ถ๋ถ์ ๋ญ ๋ฃ์ ์ ์์๊นํ์ ๋ Container์ ์๊ฐํ๊ณ , ๊ทธ ์์ child๋ก ๋ฃ์ด์คฌ๋ค.
icons.dart
class iconList extends StatefulWidget {
  @override
  _iconState createState() => _iconState();
}
class _iconState extends State<iconList> {
  final List<String> iconsArr = <String>[
    'icons/picture_cnt.svg',
    'icons/like_cnt.svg',
    'icons/comment_cnt.svg',
  ];
  @override
  Widget build(BuildContext context) {
    return Container(
        width: 110,
        height: 20,
        margin: EdgeInsets.all(10),
        child: ListView.builder(
            scrollDirection: Axis.horizontal,
            shrinkWrap: true,
            itemCount: iconsArr.length,
            itemBuilder: (context, index) {
              return Container(
                  margin: EdgeInsets.only(right: 10),
                  child: Row(children: <Widget>[
                    SvgPicture.asset('${iconsArr[index]}', width: 20),
                    Text('2')
                  ]));
            }));
  }
}
โพ statefulWidget์ ์ฒ์ ๋ง๋ค์ด๋ด์ ์์ง ์ต์ํ์ง๋ ์์๋ฐ, state๊ฐ ํ์ํ๊ณ ๋ฐ๋ณตํ ๋ฐฐ์ด๋ ํ์ํ๋ค. ๋๋ ์์ด์ฝ ๊ฒฝ๋ก๋ฅผ ๋ฃ์ด์ค ๊ฒ์ด๋ผ์ String์ผ๋ก ์ ์ธํด์ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์ด์คฌ๋ค.
โพ ListView.builder๋ฅผ ํ๋ฉด ๋ํดํธ๊ฐ์ด vertical์ด๋ผ์ ๊ฐ๋ก๋ก ์ ๋ ฌํด์ค์ผํด์ scrollDirection์ Axis.horizontal์ ๋ฃ์ด์คฌ๋ค.
โพ itemCount๋ ๋ฐ๋ณต๋๋ ํ์๋ฅผ ๋ํ๋ด๋ ๊ฑฐ๋ผ์ ๋ฐ๋ณต๋์ด์ผ ํ ๋ฆฌ์คํธ์ ๊ธธ์ด๊ฐ์ ๋ฃ์ด์คฌ๋ค.
'๊ฐ๋ฐ > Flutter' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [ํ๋ฌํฐ/firebase] signup ๊ธฐ๋ฅ ๊ตฌํํ๊ธฐ (0) | 2022.06.21 | 
|---|---|
| [Flutter] ์๋ก์ด ํ๋ฉด์ผ๋ก ์ด๋ํ๊ณ , ๋๋์๊ฐ๊ธฐ - ํ์ด์ง ์ด๋ (0) | 2022.05.16 | 
| [Flutter/ํ๋ฌํฐ] BuildContext ๋? (0) | 2022.04.06 | 
| [Flutter/ํ๋ฌํฐ] Drawer menu ๋ง๋ค๊ธฐ! (0) | 2022.04.06 | 
| [ํ๋ฌํฐ] app bar์ ๋ฉ๋ด ์์ด์ฝ ๋ฃ๊ธฐ (0) | 2022.04.05 | 
