【发布时间】:2015-03-02 09:41:51
【问题描述】:
当 API 版本为 21 或更高版本时,有些代码会加载波纹。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
viewHolder.container.setForeground(context.getResources().getDrawable(type.rippleId));
}
但是在那里,我为特定类型加载了可绘制对象。这是我的类型:
public enum Type {
GREEN(R.color.green_1, R.drawable.ripple_green_1),
PINK(R.color.pink_1, R.drawable.ripple_pink_1),
public int colorId, rippleId;
private Type(int colorId, int rippleId) {
this.colorId = colorId;
this.rippleId = rippleId;
}
}
我想做的是有一个通用的涟漪效应,并从类型中加载颜色。因为如果明天我有另一种类型,我需要创建另一个可以绘制的波纹,用另一种颜色,它不灵活。
我很快看了一下,但没有办法设置颜色。它是一组可绘制对象或其他东西。
我想知道是否有干净的方法来创建可绘制对象(从代码或 XML)并设置颜色。
您的帮助将不胜感激。 :)
【问题讨论】:
标签: android optimization enums android-5.0-lollipop ripple