码迷,mamicode.com
首页 > 其他好文 > 详细

在使用shape的同时,用代码修改shape的颜色属性

时间:2014-07-19 23:37:30      阅读:448      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   http   java   color   

Android里面经常会使用shape来定制一些View的背景

可以修改View的背景颜色,形状等属性


一般情况下,shape都是在xml文件里面写死了,今天遇到一个需求,View的形状是圆角的,但是颜色是在代码里面设置的

最开始的思路是先在代码里给View设置颜色,再在shape里面设置solid属性为透明色

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <corners
        android:topLeftRadius="8dp"
        android:topRightRadius="8dp"
        android:bottomLeftRadius="8dp"
        android:bottomRightRadius="8dp"/>
    
    <solid
        android:color="#00000000"/>

</shape>

View.setBackgroundColor(color);
View.setBackgroundDrawable(R.drawable.shape);

很遗憾,不能实现我想要的需求,每设置一次Background,Background就会就会被替换掉


最后上网Google了下,找到解决方案了http://stackoverflow.com/questions/16775891/how-to-change-solid-color-from-the-code

GradientDrawable myGrad = (GradientDrawable)view.getBackground();
myGrad.setColor(color);


在使用shape的同时,用代码修改shape的颜色属性,布布扣,bubuko.com

在使用shape的同时,用代码修改shape的颜色属性

标签:android   style   blog   http   java   color   

原文地址:http://blog.csdn.net/wangdong20/article/details/37966333

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!