Android如何创建通用的连锁效果?

时间:2015-03-02 09:41:52

标签: android optimization enums android-5.0-lollipop ripple

当API版本为21或更高版本时,会有一些代码加载纹波。

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {           
    viewHolder.container.setForeground(context.getResources().getDrawable(type.rippleId));
}

但在那里,我为特定类型加载了drawable。这是我的类型:

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;
    }

}

我想要做的是,具有通用的涟漪效应,并从类型中加载颜色。因为如果明天我有另一种类型,我需要创建另一种波纹,另一种颜色,它不灵活。

我看得很快,但没有办法设置颜色。它是一套可绘制的东西。

我想知道是否有创建drawable(来自代码或XML)的简洁方法,并设置颜色。

非常感谢您的帮助。 :)

1 个答案:

答案 0 :(得分:0)

检查此ripple effect library并尝试在您的应用中实施该示例。

使用this课程。