Приложих собствен диалогов прозорец, като наследих от класа 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>
Обаче прозорецът Background style-item изглежда няма ефект. Трябва да сменя цвета на фона на този диалогов прозорец по подразбиране.
Някой има ли представа????