Diggin' Room 프로젝트에서 댓글 기능을 담당했었다.
BottomSheetDialogFragment를 사용해서 댓글창을 구현했다.
이 과정에서 사용자 경험 개선을 위해 아래 그림 처럼 Dialog의 컨텐츠가 전체 화면을 차지하지 않아도, 위로 스와이프하면 전체 화면을 차지할 수 있도록 만들고자 하였다.

이를 위해 전에 시도했던 방법은 우리가 만든 Dialog Layout을 내부적으로 contain하고 있는 DialogFragment의 FrameLayout을 직접 id로 참조하여 Layout Params를 MATCH_PARENT로 바꿔주는 방법이었다. 그러나 이 방법은 추후에 BottomSheetDialog의 내부 구현이 바뀔 경우 영향을 받을 수 있기 때문에 안전한 방법이 아니었다.

새로운 해결법은 DialogFragment의 내부 레이아웃을 참조할 필요 없이 우리가 만들어준 Dialog 레이아웃을 참조하여 minimumHeight을 화면 크기에 맞게 꽉차게 설정해주면 Dialog의 컨텐츠와 상관없이 꽉찬 화면을 제공해줄 수 있다.

여기서 하나 궁금한 점이 생겼다.
바로 Dialog 레이아웃의 최상위 레이아웃이 ConstraintLayout일때는 위 방법이 적용되지 않는다는 것이다. (그 외 FrameLayout, LinearLayout, CoordinateLayout 일 때는 잘 된다)
왜 ConstraintLayout은 안될까?