Вы можете использовать следующую методологию.(Это определено в Kotlin, но вы можете реализовать и для Java)
class FullscreenDialog: DialogFragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setStyle(DialogFragment.STYLE_NORMAL, R.style.FullScreenDialogStyle)
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.fragment_no_internet, container, false)
return view
}
override fun onStart() {
super.onStart()
if(dialog != null) {
val width = ViewGroup.LayoutParams.MATCH_PARENT
val height = ViewGroup.LayoutParams.MATCH_PARENT
dialog.window?.setLayout(width, height)
}
}
}
Добавить следующее в ваши styles.xml
<style name="FullScreenDialogStyle" parent="Theme.AppCompat.Dialog">
<item name="android:windowNoTitle">true</item>
<item name="colorPrimaryDark">@color/appPrimaryColor</item>
<item name="colorPrimary">@color/appPrimaryColor</item>
<!-- Set this to true if you want Full Screen without status bar -->
<item name="android:windowFullscreen">true</item>
<item name="android:windowIsFloating">false</item>
<!-- This is important! Don't forget to set window background -->
<item name="android:windowBackground">@null</item>
</style>
Комупоказать диалог использовать следующее:
val fullScreenDialog = FullscreenDialog()
fullScreenDialog.isCancelable = false
fullScreenDialog.show(supportFragmentManager, "MyTag")