rfasm 2021-11-03 09:57 采纳率: 33.3%
浏览 14
已结题

关于Android修改drawable的颜色的请教

最近在学习Android开发。参考网上,弄了一个drawable,代码如下

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <!-- shape with circle-top corner -->
        <shape>
            <!-- the shape background color -->
            <solid android:color="#F02F2F4F"/>
            
            <corners android:topLeftRadius="10dp" android:topRightRadius="5dp"
                     android:bottomLeftRadius="10dp" android:bottomRightRadius="10dp"/>
            <stroke  android:width="1dp" android:color="@color/black"/>
            
            <padding android:bottom="20dp" />  
        </shape>
    </item>
</layer-list>

主要是设置了颜色和圆角,然后提供给自定义的view用。
自定义的view,我用的是RelativeLayout,然后设置RelativeLayout的background为上面的drawable
在主activity.xml布局文件,引用了多个该自定义的view,然后每个自定义view,我想在代码随意设置背景色
目前的问题是,不论我在自定义控件的xml里面增加color属性,或者是在自定义控件的java里面调用setBackgroundColor,虽然颜色是改过来了,但是会把drawable的效果覆盖掉,我又不想弄多个drawable,所以想请假下,有没有办法在保留drawable的效果上,单独修改背景色

  • 写回答

1条回答 默认 最新

  • 立青_ 2021-11-03 11:57
    关注
    int color= Color.parseColor("#FF000000");
    Mode mMode = Mode.SRC_ATOP;
    Drawable d = mContext.getResources().getDrawable(R.drawable.image);
    d.setColorFilter(COLOR2,mMode)
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月9日
  • 已采纳回答 4月1日
  • 创建了问题 11月3日

悬赏问题

  • ¥15 对于这个问题的解释说明
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。