2017-02-18 39 views
0

我正在使用library來顯示一些很好的對話框。我現在到了發生崩潰的地步。如果我傳遞一個資源(例如R.color.thatRedColor),該對話框將具有紅色背景顏色。當我傳遞一個整數(因爲它應該使用),該應用程序只是崩潰..有什麼辦法,我可以傳遞一個有效值使用整數?傳遞整數而不是資源顏色

在我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(),通過實際的彩色值,而不是一個彩色的資源ID。

如果你得到一個包衝突,添加以下內容:

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