底部对话框

    private void showBottomDialog() {
        final AlertDialog alertDialog = new AlertDialog.Builder(this).create();
        alertDialog.show();

        Window  window = alertDialog.getWindow();
        WindowManager.LayoutParams layoutParams = window.getAttributes();

        layoutParams.alpha = 0.9f;
        layoutParams.width = ViewGroup.LayoutParams.MATCH_PARENT;
        layoutParams.height = ViewGroup.LayoutParams.WRAP_CONTENT;
        window.setAttributes(layoutParams);

        DisplayMetrics dm = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(dm); //获取屏幕的宽高
        window.setLayout((int) (dm.widthPixels * 0.85), ViewGroup.LayoutParams.WRAP_CONTENT);


        window.setGravity(Gravity.BOTTOM);
//        window.setGravity(Gravity.CENTER);  // 显示的位置
        window.setBackgroundDrawable(null);
        window.setWindowAnimations(R.style.myDialogAnimation);  //底部弹出动画

        View view = LayoutInflater.from(this).inflate(R.layout.dialog_bottom_profile, null);
        window.setContentView(view);

        View unFollowBtn = view.findViewById(R.id.profile_dialog_un_follow);
        View cancelBtn = view.findViewById(R.id.profile_dialog_cancel);
    }
    <style name="myDialogAnimation" parent="Theme.AppCompat.Dialog">
        <item name="android:windowEnterAnimation">@anim/pop_show_anim</item>
        <item name="android:windowExitAnimation">@anim/pop_hidden_anim</item>
    </style>

  pop_show_anim.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="300"
        android:fromYDelta="100%"
        android:toYDelta="0%"

        android:fromXDelta="0%"
        android:toXDelta="0%"
        />

    <alpha
        android:duration="300"
        android:fromAlpha="0.0"
        android:toAlpha="1.0" />
</set>

pop_hidden_anim.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

    <translate
        android:duration="300"
        android:fromYDelta="0"
        android:toYDelta="100%" />
    <alpha
        android:duration="300"
        android:fromAlpha="1.0"
        android:toAlpha="1.0" />
</set>
原文地址:https://www.cnblogs.com/huyang011/p/7481741.html