2015-08-07 3 views
-1

Я создал диалог, используя нижеприведенный код в android.Диалоговое окно appcompat для Android со стилем

final CharSequence[] ss = {"1", "2", "3", "4"}; 

AlertDialog.Builder builder = new AlertDialog.Builder(context, R.style.MyAlertDialogStyle); 
builder.setTitle("title"); 
builder.setItems(ss, new DialogInterface.OnClickListener() { 
    @Override 
    public void onClick(DialogInterface dialogInterface, int i) { 

    } 
}); 
builder.show(); 

Это MyAlertDialogStyle.xml.

<style name="MyAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert"> 
    <item name="colorAccent">@color/red</item> 
    <item name="android:textColorPrimary">@color/black</item> 
    <item name="android:background">@color/background</item> 
    <item name="android:windowMinWidthMajor">@android:dimen/dialog_min_width_major</item> 
    <item name="android:windowMinWidthMinor">@android:dimen/dialog_min_width_minor</item> 
</style> 

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

Кроме того, есть ли способ узнать список вещей, которые я могу изменить в XML-файл? (Например. ColorAccent, Backgound, textColorPrimary ...)

ответ

0

Вы можете попробовать с библиотекой MaterialDialogs. Он прост в использовании, и вы можете получать обратные вызовы с кнопок/радио/и т. Д., Даже если это пользовательский вид.

(ссылка: https://github.com/afollestad/material-dialogs/)

0

Попробуйте следующий код:

 <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <!-- Customize your theme here. --> 
     <item name="colorAccent">@color/accent</item> 
     <item name="android:dialogTheme">@style/DialogStyle</item> 
     <item name="android:alertDialogTheme">@style/DialogStyle</item> 
    </style> 

     <style name="DialogStyle" parent="Theme.AppCompat.Light.Dialog"> 
     <item name="colorAccent">@color/accent</item> 
     <item name="android:windowTitleStyle">@style/DialogTitleStyle</item> 
     <item name="android:textColorAlertDialogListItem">@color/text_color</item> 
     <item name="android:textAppearanceButton">@style/DialogWindowTextButton</item> 
<item name="android:windowBackground">@android:color/transparent</item> 
    </style> 

     <!--Colors and Styles--> 
    <color name="bar">#FF5722</color> 
    <color name="status_bar">#E64A19</color> 
    ... 
    ...