안드로이드

[안드로이드] 안드로이드 DialogFragment() 화면 사이즈 조정

이손안나 2022. 10. 4. 23:08
DialogFragment를 상속받아 팝업창 형태의 다이얼로그를 띄울 때 의도한 사이즈와 다르게 레이아웃이 나올 수 있다.  

1. Value 패키지 안에 dimens.xml 파일을 하나 생성한다.

- 다음과 같이 설정하고 싶은 사이즈를 부르고 싶은 name과 함께 작성한다.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="dialogWidth">316dp</dimen>
    <dimen name="dialogHeight">204dp</dimen>
</resources>

2. DialogFragment를 상속받은 fragment 안에서 다음 코드를 작성한다.

private fun setLayout() {
        requireNotNull(dialog).apply {
            requireNotNull(window).apply {
                setLayout(
                    resources.getDimensionPixelSize(R.dimen.dialogWidth),
                    resources.getDimensionPixelSize(R.dimen.dialogHeight)
                )
                setBackgroundDrawableResource(R.drawable.bg_rectangle_r12_white)
            }
        }
    }

3.  onViewCreated() 안에서 호출한다.

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        setLayout()
    }

💡 그러면 원하는 사이즈의 다이얼로그 완성!!