2014-01-16 79 views
1

我希望以不同的方式提供進程而不是seekbar我希望顏色從下到上呈現我的活動,如果它達到頂部意味着過程完成。我怎樣才能做到這一點。顏色過渡到佈局從底部到頂部漸變

我試圖創建上佈局的視圖,增加的視圖高度逐漸根據處理的進展,但問題是其在時間表示不逐漸

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); 
+0

ü不ü嘗試增加視線的高度? –

+0

使用ClipDrawable作爲您的視圖/佈局的背景 – pskink

+0

我使用處理程序得到了解決方案:) – user3201189

回答

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)); 
+0

對於舊+(新)* t't中的LayoutParams不是int執行'*'動作 – user3201189

+0

檢查我的編輯。我犯了一個錯誤,使用interpolatedTime而不是t。 –

+0

我怎樣才能給與HeightAnimation有view.startAnimation(新的HeightAnimation(視圖,oldhight,我* 10))中的任何構造函數; – user3201189

相關問題