Faire bottomSheetDialog plein écran sur la barre de statut

J'ai récemment utilisé android.de soutien.de la conception.widget de.BottomSheetDialogFragment. Je voulais faire quelque chose qui est similaire à la Google contact application, ses BottomSheet de superposer la barre d'outils et barre d'état. Cependant, lorsque j'utilise le BottomSheetDialogFragment à mettre en œuvre, il s'avère à présent:
Faire bottomSheetDialog plein écran sur la barre de statut

Comme vous pouvez le voir, l'activité de la barre d'outils est toujours visible. Voici mon code de la BottomSheetDialogFragment:

public class KeyDetailFragment extends BottomSheetDialogFragment {
    private BottomSheetBehavior.BottomSheetCallback mBottomSheetBehaviorCallback = new BottomSheetBehavior.BottomSheetCallback() {
        @Override
        public void onStateChanged(@NonNull View bottomSheet, int newState) {
            if (newState == BottomSheetBehavior.STATE_HIDDEN) {
                dismiss();
            }
        }

        @Override
        public void onSlide(@NonNull View bottomSheet, float slideOffset) {

        }
    };

    @Override
    public void setupDialog(Dialog dialog, int style) {
        super.setupDialog(dialog, style);
        View contentView = View.inflate(getActivity(), R.layout.sheet_key, null);
        dialog.setContentView(contentView);
        View parent = (View) contentView.getParent();
        parent.setFitsSystemWindows(true);
        BottomSheetBehavior bottomSheetBehavior = BottomSheetBehavior.from(parent);
        contentView.measure(0, 0);
bottomSheetBehavior.setPeekHeight(contentView.getMeasuredHeight());

        CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) parent.getLayoutParams();
        if (params.getBehavior() instanceof BottomSheetBehavior) {
                 ((BottomSheetBehavior)params.getBehavior()).setBottomSheetCallback(mBottomSheetBehaviorCallback);
        }
        params.gravity = Gravity.TOP | Gravity.CENTER_HORIZONTAL;
        parent.setLayoutParams(params);
    }
}

J'ai renvoyé à la source et j'ai trouvé un attribut qui m'intéresse:

private static int getThemeResId(Context context, int themeId) {
    if (themeId == 0) {
        //If the provided theme is 0, then retrieve the dialogTheme from our theme
        TypedValue outValue = new TypedValue();
        if (context.getTheme().resolveAttribute(
                R.attr.bottomSheetDialogTheme, outValue, true)) {
            themeId = outValue.resourceId;
        } else {
            //bottomSheetDialogTheme is not provided; we default to our light theme
            themeId = R.style.Theme_Design_Light_BottomSheetDialog;
        }
    }
    return themeId;
}

l'attribut bottomSheetDialogTheme ici peut changer le bas de la feuille de style, mais je ne sais pas comment le changer, et je doute que ce serait le travail. Quelqu'un peut-il me donner la solution à propos de la réalisation de ce qu'il est possible de superposer la barre d'outils et barre d'état?

Même problème, avez vous trouvé une solution à cela?
Non, je n'ai pas encore trouvé s'il avait passé près de 3 mois
Je pense que la raison est l'altitude. Vérifiez ceci: stackoverflow.com/questions/35711808/....
Je vais avoir le même problème. mais pas en mesure de trouver une bonne solution.

OriginalL'auteur Jian Guo | 2016-04-05