Ich bevorzuge die modale Ansicht, um ein Dialogfeld zu sein, es ist einfacher, das ausgewählte Element zu erhalten, indem Sie einen Rückruf festlegen. Ich bin wirklich kein großer Fan von onActivityResult
. So ist die Lösung ist ganz einfach:
- eine DialogFragment erstellen und setzen Sie die Schwerkraft
Gravity.Bottom
und es volle Bildschirmbreite macht durch seine Einstellung Größe in DialogFragment#onStart
:
DisplayMetrics dm = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
getDialog().getWindow().setLayout(dm.widthPixels, (int) (dm.heightPixels * 0.7f));
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(0xffffff));
- Führen Sie eine Animation in der Inhaltsansicht der Aktivität aus. Aber es gibt einen schwarzen Hintergrund, also müssen wir einen Container erstellen, um den schwarzen Hintergrund (# 000000) zu setzen und dann die reale Inhaltsansicht mit cooler Animation zu skalieren.
- layout
- container(#000000)
- real content view(to perform scale animation)