Как построить диалоговое окно с многострочным заголовком? - PullRequest
7 голосов
/ 02 февраля 2012

Возможно ли иметь многострочный заголовок в диалоговом окне предупреждения Android? Я попробовал пару решений, опубликованных здесь, но ни одно из них не сработало для меня. Я всегда получаю заголовок с 3 точками (...) для заголовка. Любой пример кода или рабочий пример, относящийся к тому же, будет высоко оценен.

Ответы [ 4 ]

28 голосов
/ 06 апреля 2013

Вам необходимо использовать builder.setCustomTitle ():

AlertDialog.Builder builder = new AlertDialog.Builder(context);
TextView textView = new TextView(context);
textView.setText("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur " +
                "tincidunt condimentum tristique. Vestibulum ante ante, pretium porttitor " +
                "iaculis vitae, congue ut sem. Curabitur ac feugiat ligula. Nulla " +
                "tincidunt est eu sapien iaculis rhoncus. Mauris eu risus sed justo " +
                "pharetra semper faucibus vel velit.");
builder.setCustomTitle(textView);

Документация находится здесь: AlertDialog.builder

enter image description here

2 голосов
/ 02 февраля 2012

Это способ установить заголовок

AlertDialog.Builder builder = new  AlertDialog.Builder(Class name.this);
    builder.setTitle("Welcome to App,\n There are no App.\n Add a new data.");
0 голосов
/ 29 апреля 2013

На самом деле «правильный» ответ здесь неправильный.Оказывается, вы можете установить максимальное количество строк более 2 в AlertDialog.Вот пример:

AlertDialog closePlayerDialog;
.........
Builder builder = new AlertDialog.Builder(this);
builder.setMessage(getString(R.string.AskToClosePlayer))
       .setPositiveButton(R.string.Yes, dialogClickListener)
       .setNeutralButton(R.string.NoJustCloseApp, dialogClickListener)
       .setNegativeButton(R.string.NoContinue, dialogClickListener);
closePlayerDialog = builder.create();
closePlayerDialog.setOnShowListener(new DialogInterface.OnShowListener() {
    public void onShow(DialogInterface dialog) {
        float textSize = 12.0f;
        Button positive = closePlayerDialog.getButton(AlertDialog.BUTTON_POSITIVE);
        positive.setTextSize(TypedValue.COMPLEX_UNIT_DIP, textSize);
        positive.setMaxLines(3);
        Button neutral = closePlayerDialog.getButton(AlertDialog.BUTTON_NEUTRAL);
        neutral.setTextSize(TypedValue.COMPLEX_UNIT_DIP, textSize);
        neutral.setMaxLines(3);
        Button negative = closePlayerDialog.getButton(AlertDialog.BUTTON_NEGATIVE);
        negative.setTextSize(TypedValue.COMPLEX_UNIT_DIP, textSize);
        negative.setMaxLines(3);
    }
});
closePlayerDialog.setCancelable(false);     
closePlayerDialog.show();

В основном вы редактируете компоненты AlertDialog onShow, используя DialogInterface.onShowListener.

0 голосов
/ 02 февраля 2012

Если вы используете диалоговое окно с предупреждением, тогда заголовок может содержать максимум 2 строки , в противном случае вам придется использовать собственный диалог.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...