flutter

Flutter[플러터] / Placeholder 를 사용하여 (플레이스 홀더) Placeholder (Flutter Widget of the Week)

ch5c 2025. 5. 28. 23:54
반응형

Placeholder class

다른 위젯이 언젠가 추가될 위치를 나타내는 상자를 그리는 위젯입니다.

이 위젯은 인터페이스가 아직 완성되지 않았다는 것을 개발 중에 나타내는 데 유용합니다.

기본적으로 플레이스홀더는 컨테이너 크기에 맞게 크기가 조정됩니다. 플레이스홀더가 무한 공간에 있는 경우, 지정된 fallbackWidth  fallbackHeight 에 따라 크기가 조정됩니다.

https://youtu.be/LPe56fezmoo

공식 문서 코드

 


Placeholder UI를 임시로 구성할 때 사용하는 위젯이다. 즉 개발 중에 아직 완성되지 않은 위젯 자리에 표시용으로 사용한다는 뜻이다. 굉장히 간단하여 사용하기 쉬운데 한번 알아보자.

하위 속성
속성명 타입 기본값 설명
color Color Color(0xFF455A64) 박스를 그릴 때 사용하는 선 색상
strokeWidth double 2.0 박스를 그릴 때 사용되는 선의 두께
fallbackWidth double 400.0 부모로부터 가로 제약이 없을 때 사용할 기본 너비
fallbackHeight double 400.0 부모로부터 세로 제약이 없을 때 사용할 기본 높이
child Widget? null Placeholder 안에 포함시킬 자식 위젯

 

사용방법은 정말 간단하다.

Placeholder(),

끝이다. 이렇게만 해줘면 내부에서 expand 하려는 성질이 있기 때문에 차지할 수 있는 공간을 다 차지하고 기본적인 색상과 선 두께로 표시가 되게 된다.

하위 속성인 color 는 말그대로 이 박스 선(stroke) 색상 바꾸는 거다.

child: Placeholder(
  color: Colors.blue,
),

그 다음엔 strokeWidth 다. 이것도 말 그대로 선 두께 지정 하는 거다.

Placeholder(
  strokeWidth: 10,
),

그다음이 fallbackHeight, fallbackWidth 인데 이 둘은 레이아웃 상 부모 위젯의 제약이 없을 때 사용할 기본 크기가 되시겠다.

근데 써보니까 Column 혹은 Row 를 부모로 가지고 있어야 동작했다. (Column = Height, Row = Width)

Column(
  mainAxisAlignment: MainAxisAlignment.center,
  children: [
    Row(
      mainAxisAlignment: MainAxisAlignment.center,
      children: [
        Placeholder(
          fallbackHeight: 100,
          fallbackWidth: 200,
        ),
      ],
    ),
  ],
),

마지막으론 child 인데 솔직히 이건 설명 안해도 될것이다.

 

이렇게 간단하게 Placeholder 에 대해서 알아보았는데 되게 사용이 쉽고 좋은 위젯이라 개발중에 특히 다른 사람한테 아직 개발 안됬다고 알려야 할 때 사용하기 정말 좋은 위젯인 것 같다. 그럼 도움이 되었길 바라며 마치겠다.

반응형

 

반응형