4

xmlではなくコードを使用して、実行時にシークバーの進行状況の色と背景色を変更したいと思います。私はxmlでそれを行う方法を知っています。(Layerlist-Shapedrawable-Clipdrawable) 私は自分の色を変更できないcolors.xmlので、コードで描画可能な進行状況を設定する必要があります。LayerDrawableなどでさまざまなことを試しましたが、何も機能しませんでした。何か案は?

4

1 に答える 1

0
public void setProgressBarColor(ProgressBar progressBar, int newColor){ 
    LayerDrawable ld = (LayerDrawable) progressBar.getProgressDrawable();
    ClipDrawable d1 = (ClipDrawable) ld.findDrawableByLayerId(R.id.progressshape);
    d1.setColorFilter(newColor, PorterDuff.Mode.SRC_IN);

}

進行状況を更新すると、結果が表示されます。

大丈夫ですか?

于 2012-10-11T08:04:29.957 に答える