<imageView
android: Layout_width="match_parent"
android: Layout_width="match_parent"
android:src="@drawable/star_icon"
android:I'd="+@starid"/>
我需要以编程方式帮助我改变图标的色调
答案 0 :(得分:8)
您可以通过以下方式轻松更改色调:
imageView.setColorFilter(Color.argb(255, 255, 255, 255));
如果你想要颜色色调,那么:
imageView.setColorFilter(ContextCompat.getColor(context,
R.color.COLOR_YOUR_COLOR));
模式:
imageView.setColorFilter(ContextCompat.getColor(context,
R.color.COLOR_YOUR_COLOR), android.graphics.PorterDuff.Mode.MULTIPLY);
就我而言:
imgBottomDivider.setColorFilter(ContextCompat.getColor(getContext(),
mPreferences.isNightMode() ? R.color.colorWhite : R.color.colorBlack));
答案 1 :(得分:1)
使用
imageView.setColorFilter(int color, PorterDuff.Mode mode)
或
imageView.setColorFilter(int color)
参考:https://developer.android.com/reference/android/widget/ImageView.html#setColorFilter(int)
答案 2 :(得分:0)
试试这个,
imageViewDone.setColorFilter(ContextCompat.getColor(context, R.color.yourcolor), android.graphics.PorterDuff.Mode.MULTIPLY);
答案 3 :(得分:0)
您可以使用滤色器
imageView.setColorFilter(ContextCompat.getColor(mContext, R.color.CHOICE_COLOUR), android.graphics.PorterDuff.Mode.MULTIPLY);
答案 4 :(得分:0)
如果你想为imagevview使用默认的Duff模式,你可以选择
imageView.setColorFilter(int color)
但如果你想将灯光颜色变为多重或暗色,那么你应该使用:
imageView.setColorFilter(int color, PorterDuff.Mode mode)