webentwicklung-frage-antwort-db.com.de

Wie stelle ich den Dialog so ein, dass er im Vollbildmodus angezeigt wird?

Ich habe eine GridView, die viele Bilder zeigt, und wenn ich auf ein Bild klicke, wird Vollbild in einem Vollbilddialog angezeigt

Bitte sag mir, wie das geht

vielen Dank.

116
user790156

versuchen

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

basierend auf dieser Link lautet die richtige Antwort (die ich selbst getestet habe):

fügen Sie diesen Code in den Konstruktor oder in die onCreate() -Methode des Dialogfelds ein:

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

legen Sie außerdem den Stil des Dialogfelds wie folgt fest:

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

dies kann beispielsweise über den Konstruktor erfolgen:

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

BEARBEITEN: Eine Alternative zu all dem wäre, den Stil auf Android.R.style.Theme zu setzen und das war's.

75

Der einfachste Weg, den ich gefunden habe

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

EDIT Bis StackOverflow es uns ermöglicht, unsere Antworten zu versionieren, ist dies eine Antwort, die für Android 3 und darunter funktioniert Bitte stimmen Sie es nicht ab, weil es jetzt nicht für Sie funktioniert, da es definitiv mit älteren Android Versionen funktioniert.


Sie müssen Ihrer onCreateDialog() -Methode nur eine Zeile hinzufügen:

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

versuche dies.

32
Prateek Sharma