Je possède des problèmes dans la diffusion de dialogue en plein écran. Dans ma candidature, j'ai un fragment que lorsque vous cliquez sur un bouton, il appelle une boîte de dialogue. Mais le dialogue de dialogue remplit simplement la zone du fragment (sous la barre d'action). J'aimerais qu'il remplisse tout l'écran comme celui-là: http://img845.imageshack.us/ img845 / 8682 / myImage2.png
Toute aide? P>
public class ItensActivity extends Fragment { ... public void openDialogItens() { dialog = new ItemDialog(); dialog.show(getFragmentManager(), ""); getFragmentManager().executePendingTransactions(); } public static class ItemDialog extends DialogFragment { @SuppressWarnings("deprecation") @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setView(getContentView()); Dialog dialog = builder.create(); dialog.setCanceledOnTouchOutside(true); WindowManager.LayoutParams lp = new WindowManager.LayoutParams(); lp.copyFrom(dialog.getWindow().getAttributes()); lp.width = WindowManager.LayoutParams.WRAP_CONTENT; lp.height = WindowManager.LayoutParams.FILL_PARENT; dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE); dialog.getWindow().setAttributes(lp); return dialog; } private View getContentView() { LayoutInflater inflater = getActivity().getLayoutInflater(); View view = inflater.inflate(R.layout.popup_item, null); return view; } }
3 Réponses :
Donc, après la recherche beaucoup, je n'ai trouvé de toute façon pas que le dialogue acheminer la barre de dialogue la barre d'action à l'aide de API 5. Mais je trouve une autre façon de faire cela en faisant le fragment appelant une nouvelle activité sur l'écran avec le thème de une boîte de dialogue. Cette solution m'aidez beaucoup, alors, je le partage ici: https://stackoverflow.com/a/12275009/2327056
@strikeforcezero à l'aide de l'idée d'un message de groupe Google, je pouvais le retirer coiffer une activité. vous voudriez modifier la hauteur et la largeur à une taille "dynamique" de votre choix de préférence. Puis défini tout ce que Boutons de barre d'action que vous souhaitez p>
public static void showAsPopup(Activity activity) { //To show activity as dialog and dim the background, you need to declare android:theme="@style/PopupTheme" on for the chosen activity on the manifest activity.requestWindowFeature(Window.FEATURE_ACTION_BAR); activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND, WindowManager.LayoutParams.FLAG_DIM_BEHIND); LayoutParams params = activity.getWindow().getAttributes(); params.height = 850; //fixed height params.width = 850; //fixed width params.alpha = 1.0f; params.dimAmount = 0.5f; activity.getWindow().setAttributes((android.view.WindowManager.LayoutParams) params); setContentView(R.layout.activity_main); }
Mettez ceci dans Dialogmentfragment Code>
Public Void Oncreate (Bundle SavedInstancestate) {Super.Oncreate (SavedInstanCetate); ce.setStyle (style_no_frame, android.r.style.theme_wallpaper); } code>
Le moyen le plus simple que j'ai trouvé
Vous pouvez signaler votre boîte de dialogue Fragmet pour utiliser la boîte de dialogue au lieu de fragments intégrés lors de l'appelant #Show. Ceci créera une boîte de dialogue sur la barre d'action et la barre d'état (que vous peut racheter manuellement si vous le souhaitez). p> p>
Je ne sais pas si je comprends ce que vous voulez, mais si vous voulez un fragment "plein écran", pourquoi utiliseriez-vous un dialogue? Utilisez plutôt un fragment normal.
C'est parce que je veux le montrer comme une popup / dialogue, montrant ce qui est dans son dos, quelque chose comme ça: i.stack.imgur.com/uv5jd.png . Mais le dialogue itelogment ne couvre pas la barre d'action
Alors ... vous ne voulez pas de boîte de dialogue i> FullScreen i>, mais une boîte de dialogue qui couvre partiellement votre barre d'action, non?
Si la boîte de dialogue serait appelée par l'activité principale, cela fonctionnerait. Mais par le fragment, ça ne le fait pas.