2016-11-27 42 views
3

Как выровнять элементы в AlertDialog в центре, созданный dialog.setItems()?Android AlertDialog Set Элементы для выравнивания центра

Например, это создает диалоговое окно с вариантами несколько раз с по умолчанию выравнивание по левому краю:

AlertDialog.Builder timeOutDialog = new AlertDialog.Builder(getActivity()); 
timeOutDialog.setTitle("Set Timer"); 
final String[] types = {"5 min", "15 min", "30 min", "1 hour", "3 hours", "6 hours", "12 hours", "24 hours"}; 

timeOutDialog.setItems(types, new DialogInterface.OnClickListener() { 
    @Override 
    public void onClick(DialogInterface dialog, int which) { 
     dialog.dismiss(); 
     switch(which){ 
      case 0: // 5m 
       timerLength = 0; 
       break; 

      case 1: // 15m 
       timerLength = 1; 
       break; 

      // ... 
     } 
     timeOutButton.setText(types[which]); 
    } 

}); 

AlertDialog dialog = timeOutDialog.show(); 

Я знаю, что есть идентификаторы, чтобы установить выравнивание для заголовка и сообщения. есть ли идентификаторы, которые позволяют устанавливать выравнивание, как это делается с заголовком и сообщением (например, android.R.id.message)?

Я искал ответы, и многие сказали, что единственный способ сделать это - раздуть диалоговое окно или создать собственный диалог xml с настраиваемым центрированным счетчиком. Это мои единственные варианты?

ответ

1

Спасибо за интерес каждого,

я нашел решение за счет использования библиотеки под названием material-dialogs

С этим я могу центрирования титул, а также блесны. По моему опыту, центрирование всплывающего счетчика с использованием ванильного андроида было очень трудоемким до сих пор.

@OnClick(R.id.list) 
    public void showList() { 
     new MaterialDialog.Builder(this) 
       .title(R.string.socialNetworks) 
       .items(R.array.socialNetworks) 
       .itemsCallback(new MaterialDialog.ListCallback() { 
        @Override 
        public void onSelection(MaterialDialog dialog, View view, int which, CharSequence text) { 
         showToast(which + ": " + text); 
        } 
       }).itemsGravity(GravityEnum.CENTER) 
       .titleGravity(GravityEnum.CENTER) 
       .show(); 
    } 
+0

Благодарим за указание этой хорошей библиотеки. –

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