如果你的自定义dialog显示不正常,那么你可以考虑来一套这个
自定义了dialog的宽高,去掉了dialog的title(没有去掉的话,在不设置title的时候你的dialog的顶部会一直有一个空白区域)

Dialog dialog = new Dialog(activity,R.style.Dialog);

View dialogView = LayoutInflater.from(activity).inflate(R.layout.dialog_permission_notify, null);

dialog.setCancelable(true);
dialog.setContentView(dialogView);
dialog.setCanceledOnTouchOutside(true);

DisplayMetrics dm = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(dm);
android.view.WindowManager.LayoutParams p = dialog.getWindow().getAttributes();  //获取对话框当前的参数值
p.width = (int) (dm.widthPixels*0.8);
p.height = (int) (dm.heightPixels*0.2);
p.gravity = Gravity.CENTER;
dialog.getWindow().setAttributes(p);     //设置生效

dialog.show();

//透明背景,去掉title

<style name="Dialog" parent="android:style/Theme.Dialog">

    <item name="android:background">#00000000</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsFloating">true</item>
</style>
Logo

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

更多推荐