当前位置: 首页 > 知识库问答 >
问题:

如何在(可展开的)ListAdapter下设置ImageView的色彩?

孙子民
2023-03-14

这些解决方案要么重新着色所有ImageView SRC,要么什么都不做(vector保持黑色)。

My drawable是来自material icons目录的vector资产:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24.0"
    android:viewportHeight="24.0">

    <path
        android:fillColor="#FF000000"
        android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2z" />
</vector>

我的ImageView:

<ImageView
        android:id="@+id/gradeBullet"
        android:layout_width="25dp"
        android:layout_height="25dp"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="25.5dp"
        android:layout_marginTop="25.5dp"
        app:srcCompat="@drawable/importantgrade" />

myAmazingAdapter.java-GetChildView(...)

gradeBullet.setColorFilter(ContextCompat.getColor(context, gradeObj.colorId), PorterDuff.Mode.MULTIPLY);

结果:什么都不做。

myAmazingAdapter.java-GetChildView(...)

DrawableCompat.setTint(gradeBullet.getDrawable(), ContextCompat.getColor(context, R.color.myColor));
VectorDrawableCompat drawable = (VectorDrawableCompat) gradeBullet.getDrawable();
drawable.setTint(ContextCompat.getColor(context, gradeObj.colorId));
gradeBullet.setImageDrawable(drawable);
    null

共有1个答案

翟俊哲
2023-03-14

您可以使用porterduff.mode.src_inporterduff.mode.src_atop而不是porterduff.mode.multiply尝试第一个方法。

PorterDuff.Mode

希望这能有所帮助。

 类似资料:
  • 我想将图标设置为,我从这个网站下载了图标:FlatIcon 现在我想设置此图标的颜色,但当使用时,只需为背景添加颜色,而不是设置为图标! 当使用时,我可以用此代码设置图标的颜色:。 如何将图标的颜色设置为,例如?谢谢大家

  • 我尝试将PNG图像表单drawable加载到ImageView中,并使用下面的代码设置此ImageView的着色颜色⇒ 它正在工作: 我想使用Glide将SVG图像加载到ImageView中,并为其设置着色颜色。但在成功地将SVG图像加载到imageView后,setColorFilter无法工作。 我可以使用Glide将SVG图像加载到另一个ImageView中,代码如下: 现在,我想更改mag

  • 问题内容: 我在xml布局文件中设置了一个onClick方法,此方法可触发手机振动100毫秒,这时我将ImageView可见性设置为可见,因此可以看到它。我希望在振动停止后再次将ImageView设置回去。我该怎么办? 问题答案: 您可以同时启动此方法:

  • 问题内容: 在Objective-C中,这样的行 做它的工作,我用类比在Swift中尝试过 并没有任何改变,转角与以前相同。此外,Xcode不会显示任何语法错误。Swift是否支持其他任何方式来实现这一目标?我在这里检查了其他一些线程,通常按上面显示的方式在Swift中完成。 问题答案: 图层从剪辑区域中抽出,您需要将其设置为遮罩边界: 从文档: 默认情况下,拐角半径不适用于图层的contents

  • 我正在制作Instagram克隆应用程序。我想添加双击功能。如何在ImageView上设置双击侦听器?

  • 问题内容: 我有一个JSON URL :: JSON STRUCT :: RestaurantDescPhotos.java RestaurantDescPhotos.xml ImageLoader.java 我在XML中有一个imageview 如何设置JSONURL的图像视图 我已经编码了该类的某些部分,但是试图知道如何设置imageview 有任何想法吗 问题答案: 您可以使用ImageLo