What I'm doing is I extend DialogFragment:
public class AboutFragment extends DialogFragment { ... }
I also have an activity that contains that fragment. And when the dialog/activity needs to be called, this method decides how to display it:
public static void showAbout(Activity parent) {
    if (isTablet) {
        AboutFragment aboutFragment = AboutFragment.newInstance();
        aboutFragment.setStyle(DialogFragment.STYLE_NORMAL, R.style.DialogTheme);
        DialogUtils.showDialog(parent, aboutFragment);
    } else {
        Intent aboutIntent = new Intent(parent, AboutActivity.class);
        parent.startActivity(aboutIntent);
    }
}
How to decide whether it is a tablet, is totally up to you.
This technique is explained in the documentation.