How to make custom dialog with rounded corners in android How to make custom dialog with rounded corners in android android android

How to make custom dialog with rounded corners in android


Create a xml in drawable , say dialog_bg.xml

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android">    <solid        android:color="@color/white"/>    <corners        android:radius="30dp" />    <padding        android:left="10dp"        android:top="10dp"        android:right="10dp"        android:bottom="10dp" /></shape>

set it as the background in your layout xml

android:background="@drawable/dialog_bg"

Set the background of the dialog's root view to transparent, because Android puts your dialog layout within a root view that hides the corners in your custom layout.

dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));


You need to do the following:

  • Create a background with rounded corners for the Dialog's background:

    <?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle" >    <solid android:color="#fff" />    <corners        android:bottomLeftRadius="8dp"        android:bottomRightRadius="8dp"        android:topLeftRadius="8dp"        android:topRightRadius="8dp" /></shape>
  • Now in your Dialog's XML file in the root layout use that background with required margin:

    android:layout_marginLeft="20dip"android:layout_marginRight="20dip"android:background="@drawable/dialog_background"
  • finally in the java part you need to do this:

    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);dialog.setContentView(layoutResId);View v = getWindow().getDecorView();v.setBackgroundResource(android.R.color.transparent);

This works perfectly for me.


dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

this works for me