java - 传递整数而不是资源颜色

标签 java android colors dialog android-resources

我正在使用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/

相关文章:

java - SwipeToRefreshview 滑动错误

android - 如何从开头的句子中搜索单词

Matlab如何制作平滑的等高线图?

java - 使用 JPA 进行 GIS 几何映射后的异常

java - 如何从编译时未知的索引处的局部变量加载引用?

Java - 搜索提供前几个字符的字符串集合

android - 如果我有 id 或 threadId,我可以在 Gmail 应用程序中打开我的电子邮件线程吗?

android - NotificationListenerService中如何获取Notification内容详情

html - 如何让一个像素在 HTML 中改变它的颜色?

objective-c - 如何在Mac OS的拾色器上实现放大镜玻璃?