Как сделать свое собственное диалоговое окно

Я загрузил AppRate ( https://github.com/TimotheeJeannin/AppRate) и использовал его, чтобы вызвать диалоговое окно с просьбой оценить приложение после определенного количества запусков и истекшего времени. Пока он работает нормально... Единственное, я хочу объединить его с пользовательским макетом (приготовленным на XML-файле), чтобы диалоговое окно выглядело, ну, в общем, отличалось от стандартной темы приложения. ЭТО ДАЖЕ ВОЗМОЖНО?


код:

private void showDefaultDialog() {

    Log.d(TAG, "Create default dialog.");

    String title = "Rate " + getApplicationName(hostActivity.getApplicationContext());
    String message = "If you enjoy using " + getApplicationName(hostActivity.getApplicationContext()) + ", please take a moment to rate it. Thanks for your support!";
    String rate = "Rate it !";
    String remindLater = "Remind me later";
    String dismiss = "No thanks";

    new AlertDialog.Builder(hostActivity)
            .setTitle(title)
            .setMessage(message)
            .setPositiveButton(rate, this)
            .setNegativeButton(dismiss, this)
            .setNeutralButton(remindLater, this)
            .setOnCancelListener(this)
            .create().show();

}

Спасибо огромное.

1 ответ

Вот пример, вы можете написать в custom_dialog.xml все, что вы хотите

public class CustomDialog extends DialogFragment {

public CustomDialog() {

}

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
    Dialog dialog = new Dialog(getActivity());
    LayoutInflater inflater = getActivity().getLayoutInflater();
    View view = inflater.inflate(R.layout.custom_dialog, null);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setContentView(view);
    dialog.setCancelable(true);

    return dialog;
}

}

А для показа диалога используйте этот код

CustomDialog dialog = new CustomDialog();
dialog.show(context, CustomDialog.class.getName());
Другие вопросы по тегам