2015-10-16 2 views
0

У меня есть EditText объект:Какие LayoutParams следует использовать в AlertDialog?

EditText textbox = new EditText (this); 
    textbox.setHint (something); 

Я хочу, чтобы добавить эту точку зрения на AlertDialog с помощью построителя.

AlertDialog.Builder builder = new AlertDialog.Builder (this); 
    builder.setTitle (R.string.enter_password_name) 
      .setPositiveButton (R.string.save_text, new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 

       } 
      }) 
      .setNegativeButton (R.string.cancel_text, new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 

       } 
      }); 

Я знаю, что есть метод setView(int) но я использую API 15, так что я могу использовать только setView(View), который также является причиной, почему я создаю вид с помощью кода.

Пока все хорошо, но теперь мне нужно установить LayoutParams. Что выбрать LayoutParams? Я знаю, что в RelativeLayout вы используете RelativeLayout.LayoutParams, а в LinearLayout вы используете LinearLayout.LayoutParams. Но что я должен использовать в диалоге?

+0

Вам не нужно создавать макет программно, чтобы использовать setView, который вы знаете правильно? – tyczj

ответ

2

Согласно исходному коду here, корневой элемент alertdialog является LinearLayout, так что я бы предложил использовать LinearLayout.LayoutParams

0

Даже если вы хотите setView с view в качестве параметра вы всегда можете создать свой вид в XML и надуть его используя макет инфлятора, а затем использовать его в качестве параметра.

пример:

View view = getLayoutInflater().inflate(R.layout.yourlayout, null); 
setView(view); 
0

Это зависит от того, если вы завышать настраиваемое представление или нет.

  • Если вы сделаете это, вы должны использовать LayoutParams в соответствии с пользовательский вид контейнера (линейный или относительный).
  • Если вы не пользуетесь пользовательским представлением, то вы можете установить Linear LayoutParams в .
Смежные вопросы