我正在使用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();
最佳答案
根据源代码,使用setHeaderColorInt()
而不是setHeaderColor()
来传递实际的颜色值而不是颜色资源ID。
如果出现包冲突,请添加以下内容:
compile ('com.github.javiersantos:MaterialStyledDialogs:1.5.5') {
exclude group: 'com.afollestad.material-dialogs';
}
关于java - 传递整数而不是资源颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42319167/