J'ai un GridView et je veux faire une implémentation d'un dialogue, sur lequel l'image que j'ai sélectionnée doit s'afficher en plein écran.
Alors, comment puis-je faire en sorte que la boîte de dialogue s'affiche en mode plein écran? Merci!
J'ai un GridView et je veux faire une implémentation d'un dialogue, sur lequel l'image que j'ai sélectionnée doit s'afficher en plein écran.
Alors, comment puis-je faire en sorte que la boîte de dialogue s'affiche en mode plein écran? Merci!
Réponses:
essayer
Dialog dialog=new Dialog(this,android.R.style.Theme.Black.NoTitleBar.Fullscreen)
Call requires API level 11
DialogFragment
), je vois que la couleur de la barre d'état est tuée par la boîte de dialogue, tout l'écran est la couleur d'arrière-plan de la boîte de dialogue. Quelqu'un connaît-il une solution de rechange? J'ai essayé de définir le statusBarColor de la fenêtre de la boîte de dialogue, sans effet. PS: la couleur de la barre de navigation est également tuée.
sur la base de ce lien , la bonne réponse (que j'ai moi-même testée) est:
mettez ce code dans le constructeur ou la onCreate()
méthode de la boîte de dialogue:
getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT);
en outre, 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 pourrait ê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.
Le moyen le plus simple que j'ai trouvé
Dialog dialog=new Dialog(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen);
dialog.setContentView(R.layout.frame_help);
dialog.show();
MODIFIER Jusqu'à ce que StackOverflow nous permette de version nos réponses, ceci est une réponse qui fonctionne pour Android 3 et ci-dessous. Veuillez ne pas le rejeter car cela ne fonctionne pas pour vous maintenant, car il fonctionne certainement avec les anciennes versions d'Android.
Vous ne devriez avoir qu'à ajouter une ligne à votre onCreateDialog()
méthode:
@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();
essaye ça.
Dialog
, pourquoi ne pas simplement utiliser la valeurACTION_VIEW
Intent
par défaut pour les fichiers image?