颜色从底部到顶部逐渐过渡到布局

时间:2014-01-16 06:16:00

标签: android view

我想以不同的方式提供流程的进度而不是搜索栏我希望从底部到顶部颜色我的活动。如果它达到顶部意味着流程完成。我怎样才能做到这一点。

我尝试在布局上创建一个视图,并根据流程进度逐渐增加视图的高度,但问题是它在不是逐渐显示的时间

View line = new View(this);
    line.setBackgroundColor(Color.parseColor("#22FF6666"));
     RelativeLayout.LayoutParams rLParams = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT,i*10);
             rLParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, -1);
             rMain.addView(line,rLParams);

1 个答案:

答案 0 :(得分:0)

创建一个更改高度的自定义动画。

public class HeightAnimation extends Animation {

    private View view;
    private int oldValue,newValue;

    public HeightAnimation(View view,int oldValue,int newValue) {
        this.view=view;
            this.old=oldValue;
            this.newValue=newValue;
        setDuration(300);
    }

    @Override
    protected void applyTransformation(float interpolatedTime, Transformation t) {
        RelativeLayout.LayoutParams rLParams = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT,(int)(oldValue+(newValue-oldValue)*interpolatedTime));
            view.setLayoutParams(rLParams);
    }
}

现在在布局中添加一个视图,其高度设置为0。

找到该视图并将其调用:

view.startAnimation(new HeightAnimation(view,oldHight,i*10));