【Android】使用shape的同时,动态替换shape的颜色属性
2016-08-08 18:09
459 查看
在实现布局的时候,有些按钮形状相同,只是颜色有差异,如果使用自定义shape实现了其中一种按钮,有没有可能不需要再为其他每个颜色都写一个shape文件呢?
为第一个灰色按钮自定义背景如下:
然后,如果再为每个颜色的按钮都写一个shape背景也太麻烦,重用性太差。
【参考资料】
1、How to change
一、问题
比如以下这三个按钮:为第一个灰色按钮自定义背景如下:
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" android:color="@color/gray"> <corners android:radius="60dip"/> <stroke android:width="0dp" android:color="@color/gray" /> <solid android:color="@color/gray" /> </shape>
然后,如果再为每个颜色的按钮都写一个shape背景也太麻烦,重用性太差。
二、解决方法
参考 stackoverflow 这里, 在java代码里使用 GradientDrawable 动态设置GradientDrawable myGrad = (GradientDrawable)rectangle.getBackground(); myGrad.setColor(Color.BLACK);
【参考资料】
1、How to change
solid colorfrom the code?
相关文章推荐
- 在使用shape的同时,用代码修改shape的颜色属性
- 在使用shape的同时,用代码修改shape的颜色属性
- Android使用属性动画ValueAnimator动态改变SurfaceView的背景颜色
- 在使用shape的同时,用代码修改shape的颜色属性
- 在使用shape的同时,用代码修改shape的颜色属性
- 在使用shape的同时,用代码修改shape的颜色属性
- 在使用shape的同时,用代码修改shape的颜色属性
- 使用gradle同时打线上包和线下包动态替换url
- android样式学习(一) 使用selector改变来动态改变背景颜色
- Android Shape Drawable 静态使用和动态使用(圆角,渐变实现)
- android shape属性及使用说明
- 动态修改shape颜色值 android开发
- [android]使用shape来定义控件的一些显示属性
- android中如何使用自定义view,自定义控件属性,及动态自定义控件
- 在使用shape的同一时候,用代码改动shape的颜色属性
- Android中的基础-----如何使用JAVA动态的添加并设置组件属性
- Android 使用shape定义不同控件的的颜色、背景色、边框色
- Android中使用shape来定义控件的一些显示属性
- 【android】 使用一个shape.xml文件,使用代码设置不同圆角背景颜色
- Android中如何使用自定义view 自定义控件属性及动态自定义控件