CustomDialog.java

package com.amatellanes.android;
import android.app.Dialog;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
public class CustomDialog extends DialogFragment {
/**
* The system calls this to get the DialogFragment's layout, regardless of
* whether it's being displayed as a dialog or an embedded fragment.
*/
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout to use as dialog or embedded fragment
return inflater.inflate(R.layout.dialog_signin, container, false);
}
/** The system calls this only when creating the layout in a dialog. */
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// The only reason you might override this method when using
// onCreateView() is to modify any dialog characteristics. For example,
// the dialog includes a title by default, but your custom layout might
// not need it. So here you can remove the dialog title, but you must
// call the superclass to get the Dialog.
Dialog dialog = super.onCreateDialog(savedInstanceState);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
return dialog;
}
}

MainActivity.java

private static final String TAG = "dialog";
public void showDialog() {
FragmentManager fragmentManager = getSupportFragmentManager();
CustomDialog newFragment = new CustomDialog();
if (mIsLargeLayout) {
// The device is using a large layout, so show the fragment as a
// dialog
newFragment.show(fragmentManager, TAG);
} else {
// The device is smaller, so show the fragment fullscreen
FragmentTransaction transaction = fragmentManager
.beginTransaction();
// For a little polish, specify a transition animation
transaction
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
// To make it fullscreen, use the 'content' root view as the
// container for the fragment, which is always the root view for the
// activity
transaction.add(android.R.id.content, newFragment)
.addToBackStack(null).commit();
}
}