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

是否可以在Android中从xml更改材料设计图标颜色?

童子明
2023-03-14

我实际上正在尝试在我的应用程序中使用彩色图标。我已经从这里下载了官方材料设计图标包。现在,此包中的所有图标都是白色,灰色或黑色。但我希望图标具有不同的颜色。类似于此图像中左侧的图标。电话和邮件图标为蓝色。我怎样才能做到这一点?

共有3个答案

彭宏义
2023-03-14

我在寻找同样的东西,但在代码中动态地改变它。我希望这有助于寻找同样东西的人。

为图标创建ImageView,并在该视图上使用setColorFilter。

ImageView imageViewIcon = (ImageView) listItem.findViewById(R.id.imageViewIcon);
imageViewIcon.setColorFilter(getContext().getResources().getColor(R.color.blue));
连坚白
2023-03-14

您可以在appcompat支持库中使用TintImageView,然后为image eview着色/着色是通过简单地调用android: background Tint将image eview着色为一种颜色。

可扩展标记语言

<TintImageView
android:layout_width=""
android:layout_height="" 
android:src=""
android:backgroundTint="@color/green"/>

<ImageView 
android:tint="the_color_you_want"/>

程序化地

< code > ImageView your ImageView = findViewById(...)your imageview . setcolorfilter(context . getcolor(your _ color _ here))

因此,上面的xml将imageView着色为绿色,这意味着它将把imageView中可见的每个像素着色为绿色。

孟俊晖
2023-03-14

要更改图标颜色,请尝试

<ImageButton
    android:layout_width="your value"
    android:layout_height="your value"
    /* and so on ... */

    android:tint="YourColor"
    />

注意:淡色绘制在图像的顶部,而不是替换色。因此,黑色图像上的色调< code>#80ff0000为黑色提供50 %的红色,而不是背景上的50 %红色。也就是说,这不等同于iOS模板映像。

 类似资料:
  • 是否可以在材料设计日期选择器中添加轮廓并隐藏mm/dd/yyyy文本:https://material.io/components/date-pickers#anatomy

  • 这是我的材料风格 如果我从XML创建EditText(或其他组件),EditText的颜色将使用色彩控制正常 但是当我动态创建EditText时,它不会使用这些颜色。(变成黑色) 如何设置组件的样式或动态更改颜色? [更新] 自定义EditText类也可以解决此问题。

  • 简单地说,我不想使用第三方库,我只想知道是否可以使用android支持库以及如何做到这一点。

  • 问题内容: 我在UIwebview中加载了html文件,并在html文件中放置了以下代码。 并在Uiwebview中设置色调颜色,但是当我选择文本时它仍然显示蓝色。 问题答案: 是。我花了 2 天的时间来解决这个令人头疼的问题。访问此链接并将JS代码放入您的JS文件中。将其导入.HTML文件中。 这是它的示例代码。 通过Objective-C代码调用此方法

  • 我想我可能误解了在线文档,但是有很多关于使用Android设计支持库为Android应用程序实现材料设计的文章。 我有一个最低SDK14的应用程序,我可以增加到16.我不使用协调员布局或任何东西,但对材料设计主题和Snackbar有以下依赖关系。 我想知道我是否可以删除对AppCompat的依赖,而只是使用设计支持库来实现材料设计主题,但无法找到如何获得它。还是我理解错了?

  • 我有阅读材料设计指南,但我不知道如果波纹不是黑色(带有alpha),它应该是什么颜色。 例如,我有一个应用程序,colorPrimary=blue,colorAccent=red。事实上,我使用的是colorAccent(带有alpha),如果我想要与ripple不同的黑色,我应该使用colorPrimary(带有alpha)? 我检查了谷歌的所有应用程序,但他们从不使用彩色涟漪。 像我现在这样的