package com.example.dialog; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.os.Build; import android.os.Bundle; import android.support.v4.app.DialogFragment; import android.view.ContextThemeWrapper; import com.example.utility.DialogStyle; public class ExampleDialogFragment extends DialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { ContextThemeWrapper context = new ContextThemeWrapper(getActivity(), getTheme(true)); AlertDialog.Builder builder = new AlertDialog.Builder(context); builder .setTitle("title") .setMessage("message"); // create dialog from builder final Dialog dialog = builder.create(); // override style dialog.setOnShowListener(new DialogInterface.OnShowListener() { @Override public void onShow(DialogInterface dialogInterface) { if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { try { DialogStyle.overrideStyle(getActivity(), dialog, true); } catch(Exception e) { e.printStackTrace(); } } } }); return dialog; } private int getTheme(boolean light) { if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { return light ? android.R.style.Theme_DeviceDefault_Light_Dialog : android.R.style.Theme_DeviceDefault_Dialog; } else if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { return light ? android.R.style.Theme_Holo_Light_Dialog : android.R.style.Theme_Holo_Dialog; } else { return android.R.style.Theme_Dialog; } } }