-1
我有一個問題。 爲什麼當我使用爲什麼DrawableCompat.setTint()方法不正確?
Drawable drawable = getResources().getDrawable(R.drawable.some_drawable);
drawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(drawable.mutate(), getResources().getColor(R.color.white));
不工作,當我使用
Drawable drawable = getResources().getDrawable(R.drawable.some_drawable);
drawable = DrawableCompat.wrap(drawable);
DrawableCompat.setTint(drawable.mutate(), R.color.white);
工作?
在文檔等
public static void setTint(@NonNull Drawable drawable, @ColorInt int tint){}
所以意味着我需要提供一個資源,而不是一個int。
謝謝。
編輯:
我看看我的功能與@ColorInt
,(..., @ColorInt int color)
,是工作,如果我提供了一個顏色資源註解。越來越混亂。如果不是,則資源顏色被忽略。
'tint:\t用於着色此drawable的顏色,所以它需要32位長的int顏色,而不是資源ID – pskink
Btw'@ ColorInt'是顏色值,而'@ ColorRes'是資源ID。 – StuStirling