正常的创建一个dialog,设置自己写的布局,然后设置主题,再通过getWindow().setGravity设置弹出的位置就可以了。
dialog代码

    private void showPosterDialog() {
        AlertDialog.Builder builder = new AlertDialog.Builder(this,R.style.AlertDialog_PopupWindow);
        View viewSharePoster = LayoutInflater.from(this).inflate(R.layout.layout_share_poster, null);
        builder.setView(viewSharePoster);
        AlertDialog  posterDialog = builder.create();
        posterDialog.getWindow().setGravity(Gravity.BOTTOM);
        posterDialog.show();
    }

主题代码也就设置了android:windowBackground为空

    <style name="AlertDialog_PopupWindow" parent="@style/Theme.AppCompat.Light.Dialog.Alert">
        <item name="android:windowBackground">@null</item>
    </style>

效果图
效果图

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐