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.
versuchen
Dialog dialog=new Dialog(this,Android.R.style.Theme_Black_NoTitleBar_Fullscreen)
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.
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();
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;
}
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.