Ho un GridView e voglio realizzare una finestra di dialogo, in cui l'immagine che ho selezionato dovrebbe essere visualizzata a schermo intero.
quindi come posso fare per mostrare la finestra di dialogo in modalità a schermo intero? Grazie!
Ho un GridView e voglio realizzare una finestra di dialogo, in cui l'immagine che ho selezionato dovrebbe essere visualizzata a schermo intero.
quindi come posso fare per mostrare la finestra di dialogo in modalità a schermo intero? Grazie!
Risposte:
provare
Dialog dialog=new Dialog(this,android.R.style.Theme.Black.NoTitleBar.Fullscreen)
Call requires API level 11
DialogFragment
) vedo che il colore della barra di stato viene ucciso dalla finestra di dialogo, l'intero schermo è il colore di sfondo della finestra di dialogo. Qualcuno sa di una soluzione alternativa? Ho provato a impostare statusBarColor della finestra di dialogo, senza alcun effetto. PS: anche il colore della barra di navigazione viene ucciso.
sulla base di questo link , la risposta corretta (che ho testato io stesso) è:
inserisci questo codice nel costruttore o nel onCreate()
metodo della finestra di dialogo:
getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT);
inoltre, imposta lo stile della finestra di dialogo su:
<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>
ciò potrebbe essere ottenuto tramite il costruttore, ad esempio:
public FullScreenDialog(Context context)
{
super(context, R.style.full_screen_dialog);
...
EDIT: un'alternativa a tutto quanto sopra sarebbe quella di impostare lo stile su android.R.style.Theme e basta.
Il modo più semplice che ho trovato
Dialog dialog=new Dialog(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen);
dialog.setContentView(R.layout.frame_help);
dialog.show();
MODIFICA Fino a quando StackOverflow ci consente di eseguire la versione delle nostre risposte, questa è una risposta che funziona per Android 3 e versioni precedenti. Per favore, non sottovalutarlo perché non funziona per te ora, perché sicuramente funziona con le versioni precedenti di Android.
Dovresti solo aggiungere una riga al tuo onCreateDialog()
metodo:
@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;
}
FLAG_FULLSCREEN cannot be resolved or is not a field
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();
prova questo.
Dialog
, perché non utilizzare solo l'impostazione predefinitaACTION_VIEW
Intent
per i file di immagine?