古いダイアログをDialogFragmentに切り替えていますが、テーマとスタイルが機能していないようです。
互換性ライブラリv4のDialogFragmentを使用しており、onCreateメソッドでsetStyle(style、theme);を呼び出してみました。さまざまなテーマがありますが、Android 4.0.3を実行しているエミュレーターでは、ダイアログは常に「古い」ダイアログとして表示されます(つまり、Holoテーマでは表示されません)。
他にやるべきことはありますか?互換性ライブラリを使用すると、Holoテーマなどが無効になりますか?この場合、2つのDialogFragmentsを作成する必要があります。1つは古いバージョン用で、もう1つは新しいバージョン用です。
ありがとう!
これが私のダイアログの(簡略化された)コードです。Theme_Holo_Dialog_NoActionBarとTheme_DeviceDefault_Dialog_NoActionBarの両方を試しましたが、Android 4エミュレーターでは、Holoテーマを使用する代わりに、ダイアログが常に「古い」ダイアログとして表示されます。私は何が間違っているのですか?:(
[...]
import android.support.v4.app.DialogFragment;
[...]
public class AlertDialogFragment extends DialogFragment {
  public static AlertDialogFragment newInstance(int id) {
    AlertDialogFragment f = new AlertDialogFragment();
    Bundle args = new Bundle();
    args.putInt("id", id);
    f.setArguments(args);
 }
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    int style = DialogFragment.STYLE_NORMAL, theme = 0;
    theme = android.R.style.Theme_Holo_Dialog_NoActionBar;
    setStyle(style, theme);     
  }
  @Override
  public Dialog onCreateDialog(Bundle savedInstanceState) {
    mId = getArguments().getInt("id");
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity())
        .setTitle(mTitle)
        .setMessage(mMessage)
        .setPositiveButton(getString(R.string.btn_ok), new DialogInterface.OnClickListener() {      
            @Override
            public void onClick(DialogInterface dialog, int which) {
                dismiss();                  
            }
        });
        return builder.create();
    }