web-dev-qa-db-fra.com

Comment créer une boîte de dialogue d'alerte en plein écran sur Android?

Comment créer une boîte de dialogue d'alerte en plein écran sur Android?

12
user6629610

Essayez le code ci-dessous

AlertDialog.Builder alertDialog = new AlertDialog.Builder(this,Android.R.style.Theme_Black_NoTitleBar_Fullscreen);
22
emrekose26

vous devez créer un style personnalisé pour votre boîte de dialogue

dans votre 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>

tout en gonflant votre dialogue définissez ce thème

dialog = new Dialog(this, R.style.DialogTheme);

13
SaravInfern

si vous utilisez DialogFragment pour créer AlertDialog, vous pouvez définir MATCH_PARENT sur LayoutParams dans 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);
}
2
madim

【Méthode 1 | Utiliser un style personnalisé】

Dans le fichier de styles:

<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="colorAccent">@color/colorAccent</item>                      //change button text color
</style>

Dans Java:

AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(getActivity(), R.style.myFullscreenAlertDialogStyle);   //second argument

【Méthode 2 | Utiliser le style intégré】

Dans Java:

AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(getActivity(), Android.R.style.Theme_Material_Light_NoActionBar_Fullscreen);
  • Cette méthode rendra le texte du bouton de couleur verte, vous pouvez utiliser dialog.getButton().setTextColor() pour le changer.
2
Sam Chen