最近在学习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的效果上,单独修改背景色