DialogFragment のスタイルを変える。アプリ全体のスタイルとは異なるものを使う場合、
res/values/styles.xml で、Dialog で使う style を追加する。
アプリのテーマが、 Holo で、ダイアログを Holo.Light にする。
<style name="DialogThemeHoloLight" parent="android:style/Theme.Holo.Light.Dialog"></style>
この追加だけで、Dialog に style を適用すると以下のように周りが残ってしまう。
windowBackground で透明を指定しないといけない。
<style name="DialogThemeHoloLight" parent="android:style/Theme.Holo.Light.Dialog">
<item name="android:windowBackground">@android:color/transparent</item>
</style>
これで、以下のように表示できる。
DialogFragment で、style の指定は onCreateDialog で行う。
public class SpinnerProgressDialogFragment extends DialogFragment{
private static ProgressDialog progressDialog;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState){
if (progressDialog != null) return progressDialog;
progressDialog = new ProgressDialog(getActivity(), R.style.DialogThemeHoloLight);
:
省略
:
return progressDialog;
}
@Override
public Dialog getDialog(){
return progressDialog;
}
@Override
public void onDestroy(){
super.onDestroy();
progressDialog = null;
}
}