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日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效