How to make an Alert Dialog in full screen in Android?
4 Answers
Try below code
AlertDialog.Builder alertDialog = new AlertDialog.Builder(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen); you must create a custom style for your dialog
in your style.xml
<style name="DialogTheme" parent="android:Theme.Dialog"> <item name="android:layout_width">fill_parent</item> <item name="android:layout_height">fill_parent</item> <!-- No backgrounds, titles or window float --> <item name="android:windowBackground">@null</item> <item name="android:windowNoTitle">true</item> <item name="android:windowIsFloating">false</item> </style> while inflating your dialog set this theme
dialog = new Dialog(this, R.style.DialogTheme);
1 Comment
lubrum
This also changes the dialog style.
【Method 1 | Use Custom Style】
In styles file:
<style name="myFullscreenAlertDialogStyle" parent="Theme.AppCompat.Light.NoActionBar"> //no actionbar, but status bar exists <item name="android:windowFullscreen">true</item> //remove status bar <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item> //smooth animation <item name="colorAccent">@color/colorAccent</item> //change button text color </style> In java file:
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.myFullscreenAlertDialogStyle); //second argument 【Method 2 | Use Built-In Style】
In java file:
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(getActivity(), android.R.style.Theme_Material_Light_NoActionBar_Fullscreen); - This method will make the button text become green color, you can use
dialog.getButton().setTextColor()to change it.
Comments
if you're using DialogFragment to build AlertDialog you may set MATCH_PARENT on LayoutParams in onResume():
@Override public void onResume() { super.onResume(); ViewGroup.LayoutParams params = getDialog().getWindow().getAttributes(); params.width = WindowManager.LayoutParams.MATCH_PARENT; params.height = WindowManager.LayoutParams.MATCH_PARENT; getDialog().getWindow().setAttributes((android.view.WindowManager.LayoutParams) params); } 1 Comment
Marcos Vasconcelos
While this does work, the vie winside it doesn't go with MATCH_PARENT