2014-09-16 2 views
1

Я знаю, что это можно сделать с помощью Dialog. Но было бы неплохо добиться этого с помощью AlertDialog. Код до сих порStyling Buttons in AlertDialog, Android 2.3

<resources> 
<style name="MyTheme"> 
    <!-- some code --> 
    <item name="android:buttonBarStyle">@style/CustomButtonBarStyle</item> 
    <item name="android:borderlessButtonStyle">@style/CustomDialogButtonStyle</item> 

    <!-- Working for Android 4+ --> 
    <item name="android:alertDialogStyle">@style/CustomAlertDialogStyle</item> 
    <item name="android:alertDialogTheme">@style/CustomAlertDialogStyle</item> 
    <!-- Does nothing: --> 
    <!-- item name="android:buttonStyle">@style/CustomDialogButtonStyle</item --> 
</style> 

<style name="CustomAlertDialogStyle"> 
    <!-- making dialog transparent --> 
</style> 

<style name="CustomDialogButtonStyle"> 
    <item name="android:textColor">#000</item> 
    <item name="android:textSize">16sp</item> 
    <item name="android:background">@drawable/button_drawable</item> 
</style> 

<style name="CustomButtonBarStyle"> 
    <item name="android:background">@null</item> 
    <item name="android:dividerPadding">0dp</item> 
</style> 
</resources> 

Я провел много времени в google и ничего не нашел. Теперь я хочу знать, что это возможно. Спасибо.

UPD: Поскольку я использую DialogFragment, я могу программно программировать кнопку.

@Override 
public void onResume() { 
    super.onResume(); 
    ((AlertDialog) getDialog()).getButton(Dialog.BUTTON_POSITIVE).setBackgroundColor(0xFFFFFFFF); 
} 

Но я до сих пор не знаю, можно ли применить к нему стиль.

ответ

0

Почему бы вам просто не создать собственный диалог? Это не сложно, и это придаст вам большую гибкость в дизайне.

Во-первых, вы создадите xml-макет с вашими стилями, как хотите, а затем установите contentView в диалоговом окне вашего xml-файла. Вы можете получить доступ к своим новым кнопкам по идентификатору.

Here's a really good, simple tutorial about it.

+0

Да, я знаю, как это сделать. Но я думаю, что использование AlertDialog гораздо более ясное и простое. Если это возможно, я хотел бы знать, как это сделать. И если это не так, я бы тоже хотел это знать. –

+0

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