How to make an Alert dialog in full screen in Android?

前端 未结 4 2223
半阙折子戏
半阙折子戏 2021-02-19 01:16

How to make an Alert Dialog in full screen in Android?

相关标签:
4条回答
  • 2021-02-19 01:47

    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);

    0 讨论(0)
  • 2021-02-19 01:49

    Try below code

    AlertDialog.Builder alertDialog = new AlertDialog.Builder(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen);
    
    0 讨论(0)
  • 2021-02-19 02:05

    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);
    }
    
    0 讨论(0)
  • 2021-02-19 02:06

    【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.
    0 讨论(0)
提交回复
热议问题