Eu tenho um GridView e quero fazer uma implementação de uma caixa de diálogo, na qual a imagem que eu selecionei deve ser exibida em tela cheia.
então, como posso exibir a caixa de diálogo em modo de tela cheia? obrigado!
Eu tenho um GridView e quero fazer uma implementação de uma caixa de diálogo, na qual a imagem que eu selecionei deve ser exibida em tela cheia.
então, como posso exibir a caixa de diálogo em modo de tela cheia? obrigado!
Respostas:
experimentar
Dialog dialog=new Dialog(this,android.R.style.Theme.Black.NoTitleBar.Fullscreen)
Call requires API level 11
DialogFragment
), vejo que a cor da barra de status é eliminada pela caixa de diálogo, a tela inteira é a cor de fundo da caixa de diálogo. Alguém sabe de uma solução alternativa? Tentei definir o statusBarColor da janela da caixa de diálogo, sem efeito. PS: a cor da barra de navegação também é eliminada.
Com base neste link , a resposta correta (que eu mesmo testei) é:
coloque este código no construtor ou no onCreate()
método da caixa de diálogo:
getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT);
além disso, defina o estilo da caixa de diálogo para:
<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>
isso pode ser alcançado através do construtor, por exemplo:
public FullScreenDialog(Context context)
{
super(context, R.style.full_screen_dialog);
...
EDIT: uma alternativa para todas as opções acima seria definir o estilo para android.R.style.Theme e é isso.
A maneira mais fácil que encontrei
Dialog dialog=new Dialog(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen);
dialog.setContentView(R.layout.frame_help);
dialog.show();
EDITAR Até que o StackOverflow permita a versão de nossas respostas, esta é uma resposta que funciona no Android 3 e abaixo. Por favor, não diminua o voto porque não está funcionando para você agora, porque definitivamente funciona com versões mais antigas do Android.
Você só precisa adicionar uma linha ao seu onCreateDialog()
método:
@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();
tente isso.
Dialog
, por que não usar apenas o padrãoACTION_VIEW
Intent
para arquivos de imagem?