DialogFragment クラスから継承して、独自のダイアログを実装しました。
このデフォルト ダイアログの背景色を変更したいと考えています。
いくつかの方法を試しましたが、どれもうまくいかないようです。以下の onCreateDialog() メソッドが表示されている場合は、カスタム ダイアログ スタイルを使用しています。
public class ConfirmationDialogFragment extends SherlockDialogFragment {
String mTextMessage = "Would you like to save the message";
String mTextButtonOk = "Ok";
TestDialogInterface dialogInterface = null;
public void setDialogInterface(TestDialogInterface dialogInterface) {
this.dialogInterface = dialogInterface;
}
/**
*/
public ConfirmationDialogFragment() {
}
public void setTextMessage(String mTextMessage) {
this.mTextMessage = mTextMessage;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(getActivity(), R.style.AlertDialogCustom));
builder.setMessage(mTextMessage)
.setPositiveButton(mTextButtonOk, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dismiss();
}
})
.setCancelable(false);
builder.setTitle("Loan Extension");
Dialog dialog = builder.create();
return dialog;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = super.onCreateView(inflater, container, savedInstanceState);
return view;
}
public class TestDialogInterface{
public void onYes(){}
public void onNo(){}
}
}
スタイルファイルは次のようになります。
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="AlertDialogCustom" parent="@android:style/Theme.DeviceDefault.Light.Dialog">
<item name="android:windowBackground">@color/red</item>
<item name="android:colorBackground">@color/red</item>
</style>
</resources>
ただし、windowBackground スタイル項目は効果がないようです。このデフォルトのダイアログの背景色を変更する必要があります。
誰もが手がかりを持っていますか????