gpt4 book ai didi

android - R.attr.colorPrimary 颜色类型的预期资源

转载 作者:行者123 更新时间:2023-11-29 01:15:15 25 4
gpt4 key购买 nike

我只想以编程方式设置 contentScrim。所以我尝试了

int color = ContextCompat.getColor(getActivity(), R.attr.colorPrimary);
collapsingToolbarLayout.setContentScrimColor(color);

然后我试了一下

collapsingToolbarLayout.setContentScrimColor(
getResources().getColor(R.attr.colorPrimary));

但我不断收到有关 R.attr.colorPrimary 的投诉。有什么帮助吗?

好像有人问过这个问题Android - Should pass resolved color instead of resource id here: `getResources().getColor(R.attr.colorPrimary)` .但我尝试的正是他们建议我应该尝试的。我的目标是 minSDK 16。

顺便说一句,我不能使用 R.color.colorPrimary 因为我想要动态设置的主题而不是一些硬编码/默认颜色。

最佳答案

public int getColor(Context context, int colorResId) {

//return ContextCompat.getColor(context, colorResId); // Doesn't seem to work for R.attr.colorPrimary

TypedValue typedValue = new TypedValue();
TypedArray typedArray = context.obtainStyledAttributes(typedValue.data, new int[] {colorResId});
int color = typedArray.getColor(0, 0);
typedArray.recycle();
return color;

}

用法:

int actualPrimaryColor = getColor(context, R.attr.colorPrimary);

关于android - R.attr.colorPrimary 颜色类型的预期资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40203631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com