2017-02-18 25 views
0

Я использую library, чтобы показать несколько приятных диалогов. Теперь я пришел к тому, что у меня возникают сбои. Если я передаю ресурс (например, R.color.thatRedColor), диалог будет иметь красный цвет фона. Когда я передаю Integer (как его следует использовать), приложение просто падает. Есть ли способ, которым я могу передать действительное значение с помощью Integer?Провести целое число вместо цвета ресурса

Используемая линия в моей colors.xml

<color name="indigo">#3f51b5</color> 

Мой код

int primaryColor = 11243910; 

new MaterialStyledDialog(context) 
    .setHeaderColor() //If I pass R.color.indigo, it works. If I pass primaryColor, it crashes.. 
    .setDescription("Hello") 
    .setPositive("Ok", new MaterialDialog.SingleButtonCallback() { 
     @Override 
     public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { 
      //Do something 
     } 
    }) 
    .setNegative("No", new MaterialDialog.SingleButtonCallback() { 
     @Override 
     public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) { 
      //Don't do anything 
     } 
    }) 

    .withDivider(false) 
    .show(); 

ответ

1

на основе исходного кода, используйте setHeaderColorInt(), не setHeaderColor(), чтобы передать фактическое значение цвета вместо цвета идентификатор ресурса.

В случае, если вы получаете пакет столкновение, добавьте следующее:

compile ('com.github.javiersantos:MaterialStyledDialogs:1.5.5') { 
    exclude group: 'com.afollestad.material-dialogs'; 
}