web-dev-qa-db-fra.com

Comment définir le dialogue pour afficher en plein écran?

J'ai un GridView qui montre beaucoup d'images et quand je clique sur une image, il montrera image complète dans une boîte de dialogue en plein écran

S'il vous plaît dites-moi comment faire cela

merci.

116
user790156

essayer

Dialog dialog=new Dialog(this,Android.R.style.Theme_Black_NoTitleBar_Fullscreen)
215
Ahmed Salem

basé sur ce lien , la bonne réponse (que je me suis testée) est:

placez ce code dans le constructeur ou la méthode onCreate() du dialogue:

getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT,
                WindowManager.LayoutParams.MATCH_PARENT);

de plus, définissez le style de la boîte de dialogue sur:

<style name="full_screen_dialog">
    <item name="Android:windowFrame">@null</item>
    <item name="Android:windowIsFloating">true</item>
    <item name="Android:windowContentOverlay">@null</item>
    <item name="Android:windowAnimationStyle">@Android:style/Animation.Dialog</item>
    <item name="Android:windowSoftInputMode">stateUnspecified|adjustPan</item>
</style>

ceci peut être réalisé via le constructeur, par exemple:

public FullScreenDialog(Context context)
{
  super(context, R.style.full_screen_dialog);
  ...

EDIT: une alternative à tout ce qui précède serait de définir le style sur Android.R.style.Theme et c'est tout.

75

La façon la plus simple que j'ai trouvée

Dialog dialog=new Dialog(this,Android.R.style.Theme_Black_NoTitleBar_Fullscreen);
        dialog.setContentView(R.layout.frame_help);
        dialog.show();
46
Javier Roberto

EDIT Jusqu'à ce que StackOverflow nous permette de modifier nos réponses, il s'agit d'une réponse qui fonctionne pour Android 3 et inférieur. S'il vous plaît, ne faites pas baisser le nombre de voix parce que cela ne fonctionne pas pour vous maintenant, car cela fonctionne certainement avec les anciennes versions Android.


Vous ne devriez avoir besoin que d’ajouter une ligne à votre méthode onCreateDialog():

@Override
protected Dialog onCreateDialog(int id) {
    //all other dialog stuff (which dialog to display)

    //this line is what you need:
    dialog.getWindow().setFlags(LayoutParams.FLAG_FULLSCREEN, LayoutParams.FLAG_FULLSCREEN);

    return dialog;
}
38
Caspar Harmer
dialog = new Dialog(getActivity(),Android.R.style.Theme_Translucent_NoTitleBar);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setContentView(R.layout.loading_screen);
    Window window = dialog.getWindow();
    WindowManager.LayoutParams wlp = window.getAttributes();

    wlp.gravity = Gravity.CENTER;
    wlp.flags &= ~WindowManager.LayoutParams.FLAG_BLUR_BEHIND;
    window.setAttributes(wlp);
    dialog.getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
    dialog.show();

essaye ça.

32
Prateek Sharma