728x90
dialogfragment 생성하면 넓이랑 높이가 wrap_content로 생성되는데
크기를 조절할려면 onResume에 추가로 설정해야한다
override fun onResume() {
super.onResume()
// dialog 넓이 80% 설정
// 높이 50% 설정
val params = dialog?.window?.attributes
params?.width = resources.displayMetrics.widthPixels * 8 /10
params?.height = resources.displayMetrics.heightPixels * 5 /10
dialog?.window?.attributes = params as WindowManager.LayoutParams
}
package com.ej.aboutme.fragment.dialog
import android.graphics.Color
import android.graphics.drawable.ColorDrawable
import android.os.Bundle
import android.view.*
import androidx.fragment.app.DialogFragment
import com.ej.aboutme.databinding.FragmentMemberInfoDialogBinding
class MemberInfoFragmentDialog : DialogFragment() {
lateinit var memberInfoFragmentDialogBinding : FragmentMemberInfoDialogBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
memberInfoFragmentDialogBinding = FragmentMemberInfoDialogBinding.inflate(inflater)
// dialog 모서리 둥글게
dialog?.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
dialog?.window?.requestFeature(Window.FEATURE_NO_TITLE)
// Inflate the layout for this fragment
// return inflater.inflate(R.layout.fragment_member_info_dialog, container, false)
return memberInfoFragmentDialogBinding.root
}
override fun onResume() {
super.onResume()
// dialog 넓이 80% 설정
val params = dialog?.window?.attributes
params?.width = resources.displayMetrics.widthPixels * 8 /10
params?.height = resources.displayMetrics.heightPixels * 5 /10
dialog?.window?.attributes = params as WindowManager.LayoutParams
}
}
728x90
'안드로이드 > Fragment' 카테고리의 다른 글
fragment간 데이터 전송 (0) | 2022.10.03 |
---|---|
안드로이드 fragment에서 부모 fragment 접근 (0) | 2022.08.04 |
안드로이드 Activity Animation (0) | 2022.06.17 |
안드로이드 Fragment Animation (0) | 2022.06.17 |
안드로이드 DialogFragment (0) | 2022.06.17 |