2

このソースは、DialogFragment新しく作成さFragmentれ、すべての画面をブロックしたことを示しています(FragmentActivity)。画面をスクロールできるときに干渉しないようDialog に、に を追加する必要があります。現在のコード:FragmentDialogFragment

FragmentManager fm = fa.getSupportFragmentManager();
        FragmentTransaction ft = fm.beginTransaction();
            // create dlg fragment
            DialogFragment fragment = new DialogFragment();
            // show the dialog.
            fragment.show(fm, "android:switcher:888889:1"); // "android:switcher:888889:1" - existing fragment!

ここに画像の説明を入力してください

4

1 に答える 1

1

「フラグメント」にダイアログを追加する必要があります。画面をスクロールできます。FragmentDialogは干渉しません。

通常DialogFragment(または通常Dialog)は、希望どおりに機能しません。ネストされたを利用できますFragments。より正確には、現在Fragmentのビューをから変更して、コンテンツの上に別のコンテナ(a)を追加するとともにViewPager、現在のレイアウトをaRelativeLayoutまたはaでラップする必要があります。FrameLayoutFrameLayout

その余分な部分はホルダーFrameLayoutとして使用され(通常のコンテンツの上に浮かんでいるように見えます)、このコンテナーに(ではなく通常の)を表すためにを追加します。その後、偽のショーでもスワイプできるようになります。DialogDialogFragmentDialogFragmentDialogFragmentViewPagerDialog

ViewPagerまた、画面にaDialogが表示されていてもスワイプすると、ユーザーにとって直感に反する場合があることに注意してください。

于 2013-01-05T14:03:08.013 に答える