Come creare una window di dialogo che sarà piena in dimensione orizzontale

Quando uso nel layout, che specifica questa window di dialogo android:layout_width="match_parent" Ottengo questa window di dialogo:

piccola finestra di dialogo

  • Equivalente a javax.swing.Timer in Android
  • Ripristina / riprende CountDownTimer Android
  • Come rilevare IBeacon in android senza utilizzare alcuna libreria
  • FocusTable Focusable all'interno di ListView
  • L'arresto di generazione di token Google Google Cloud Messaging (GCM) dopo l'aggiornamento di Google Play Services relativo a Firebase
  • Android Come riutilizzare un layout di intestazione come una vista vuota in un ListView
  • Ho bisogno di dialogo che sarà più ampio. Qualche idea?

  • la polilinea della mappa di Google non funziona su android versione 5.0 (lollipop)
  • Android Dev - URL di richiamata non funzionante ... (0_o)
  • Modifica del colore predefinito di CheckBox Check Check Mark
  • Come viene applicato l'authorization di Android?
  • la casella editText non funziona correttamente. android
  • Nascondere le notifiche sms con un trasmettitore in KitKat
  • 2 Solutions collect form web for “Come creare una window di dialogo che sarà piena in dimensione orizzontale”

    Puoi farlo afferrando l'object Window che utilizza la window di dialogo e ripristinando la width. Ecco un semplice esempio:

     //show the dialog first AlertDialog dialog = new AlertDialog.Builder(this) .setTitle("Test Dialog") .setMessage("This should expand to the full width") .show(); //Grab the window of the dialog, and change the width WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); Window window = dialog.getWindow(); lp.copyFrom(window.getAttributes()); //This makes the dialog take up the full width lp.width = WindowManager.LayoutParams.MATCH_PARENT; lp.height = WindowManager.LayoutParams.WRAP_CONTENT; window.setAttributes(lp); 

    Ecco il risultato finale. Si noti che c'è molto più stile che puoi fare alla window di dialogo se hai bisogno di ottimizzare le cose (come cambiare lo background, ecc.). Quando ho dovuto fare questo in passato, di solito uso questo metodo e personalizzare il layout utilizzato nella window di dialogo con setView() nella class costruttori.

    esempio

    Un altro modo per risolvere questo problema è usare:

     import android.support.v7.app.AlertDialog; 

    invece di:

     import android.app.AlertDialog; 
    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.