<aside> ❓ localhost가 무엇인지 정리하기
</aside>
자신의 컴퓨터를 가리키는 호스트 이름, 도메인.
내부적으로 서버를 구축하고 백엔드 서버를 개발할 때 흔히 사용함.
ip 주소로는 127.0.0.1 을 사용한다
예시
localhost → www.naver.com 127.0.0.1 → 125.209.222.141(네이버 ip주소)
<aside> ❓ PageView나 ListView는 유저의 행동에 따라서 작동됩니다.
만약 유저의 행동을 제한하고 싶으면 어떤 속성 값을 설정해야하는지 정리하세요.
예를들어, PageView는 페이지 변경을 제한하고, ListView는 스크롤이 안되게 제한합니다. </aside>
physics
속성을 사용한다.
AlwaysScrollableScrollPhysics()
: 항상 스크롤을 활성화한다.NeverScrollableScrollPhysics()
: 스크롤을 비활성화한다.BouncingScrollPhysics()
: List의 끝에 도달했을 때 효과를 보여준다. (iOS의 기본 세팅과 유사)ClampingScrollPhysics()
: 시작과 끝에 도달했을때 효과를 보여준다. (Android의 기본 설정 값)<aside> ❓ 다음의 코드의 결과값을 예상해보고, 실행해본 뒤에 에러가나는 이유에 대해서 연구하기
ListView(
children: [
Text('안녕 난 1번 ListView의 자식이다'),
Text('나도! 1번 ListView의 자식이야'),
ListView(
children: [
Text('난 2번의 자식임'),
Text('나도 2번의 자식임'),
]
),
Text('난 멀리 떨어져있지만 1번의 자식이야'),
]
)
Vertical viewport was given unbounded height.
라는 에러문구를 볼 수 있다. 해석하면 세로 viewport에 제한 없는 높이가 지정되었습니다. 라는 문구이다.
자식 ListView 사이즈 정해주기
ListView(
children: [
Text('안녕 난 1번 ListView의 자식이다'),
Text('나도! 1번 ListView의 자식이야'),
SizedBox(
height: 200,
child: ListView(
children: [
Text('난 2번의 자식임'),
Text('나도 2번의 자식임'),
]
),
),
Text('난 멀리 떨어져있지만 1번의 자식이야'),
]
)
shrinkWrap 속성을 true로 설정하기
shrinkWrap
****: 자식 ListView가 자식 위젯들을 부모 ListView의 viewport만큼 보여줄 수 있다
ListView(
children: [
Text('안녕 난 1번 ListView의 자식이다'),
Text('나도! 1번 ListView의 자식이야'),
ListView(
shrinkWrap: true,
children: [
Text('난 2번의 자식임'),
Text('나도 2번의 자식임'),
]
),
Text('난 멀리 떨어져있지만 1번의 자식이야'),
]
)