2012-06-06 2 views
1

Для большинства диалогов приложений для Android я использую встроенные методы Builder, такие как setSingleChoiceItems, но мне нужно 2-3 диалога, которые являются настраиваемыми AlertDialogs, используя мои собственные представления.Диалог диалогового окна и диалога Builder имеет разные темы.

Пользовательские диалоги отличаются от готовых (размер текста, фон и т. Д.).

Как я могу сделать свои собственные диалоги похожими на Builder? Я не указал ни одной темы для любого из диалогов.

Я создал этот, используя AlertDialog.Builder с помощью метода setSingleChoiceItems (...).

Created using AlertDialog.Builder

Этот был создан с помощью builder.setView (макет).

Created using a View

+0

Вы можете добавить фотографии, чтобы различия между ними? Тема вашей деятельности может отличаться от той, которую использует Builder. – Guykun

+0

Ваш вопрос немного неоднозначен. Под «custom AlertDialogs», вы имеете в виду, что вы подклассифицировали «AlertDialog»? 'Builder' является внутренним классом« AlertDialog », поэтому способ фразы некоторых вещей в этом контексте запутан. –

+0

Добавлены скриншоты, а также еще несколько объяснений. Надеюсь, теперь это имеет больше смысла. – Sleepster

ответ

0

Вы можете использовать настраиваемое представление с setView, но я рекомендую использовать DialogFragment, в DialogFragment вы можете использовать любой View и просто Просмотреть обработчик событий, как onClickListener и т.д.

+0

Я использую setView, но используемая тема отличается от используемой Builder setSingleChoiceItems (...) – Sleepster

0

попробовать это

установить специальную тему в диалоговом окне для установки фона и без названия диалогового окна ниже

<style name="ActivityDialog" parent="@android:style/Theme.Dialog">  
    <item name="android:windowBackground">@drawable/dialog_background_image</item> 
    <item name="android:windowNoTitle">true</item>  
    </style> 

и сделать макет пользовательского интерфейса

protected void createDialog() { 
     // TODO Auto-generated method stub 

      dialog = new Dialog(this,R.style.ActivityDialog);//this take context and style parameter 

      dialog.setContentView(R.layout.dialogUI); // here load coustom UI layout 



      Button okbtn = (Button)dialog.findViewById(R.id.button1); 
      Button cancelbtn = (Button)dialog.findViewById(R.id.rep_cancel_Button); 
      okbtn .setOnClickListener(okClickListener); 
      cancelbtn .setOnClickListener(cancelClickListener); 

      dialog.show(); 

     } 
+0

Спасибо, но я не хочу настраивать тему, я хочу ту же тему, которую используют встроенные методы Builder. – Sleepster

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