2014-01-31 5 views
0

Я хочу сделать чистый вид alertdialog, поскольку textview соответствует высоте на alertdialog.Сделать текстовый столбец высотой диалогового окна оповещений

final Builder builder = new AlertDialog.Builder(this); 
       TextView msg = new TextView(this); 
       msg.setText("The winner is Player " + Players.intFromPlayers(player)); 
       msg.setGravity(Gravity.CENTER); 
       msg.setLayoutParams(params); 
       builder.setView(msg); 
       builder.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int which) { 
         finish(); 
        } 
       }) 

       .show(); 

enter image description here

+0

как вы установили Params? –

+0

@ nr4bt: попробовал msg.setLayoutParams (новые LayoutParams (LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); как это предлагается ниже. –

+1

Вы не можете, потому что 'AlertDialog' имеют динамическую высоту, размер которой зависит от размера его дочернего элемента. Вы можете указать высоту своего AlertDialog, а затем указать высоту текста. Но почему вы хотите совместить высоту вашего TextView с высотой вашего 'AlertDialog', размер текста составляет' android: textSize? ' –

ответ

0

Попробуйте установить высоту вашего зрения текста на match_parent:

msg.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); 
+0

Извините, но не исправил. : S –

1

Если вы хотите довольно хорошо выглядящий alertdialog, вы можете рассмотреть вопрос о создании отступов, а поскольку высота AlertDialog является динамически созданный.

android:paddingTop="20dp" 

вы будете иметь 20dp пространство между верхней и текстом

Смежные вопросы