私のアプリケーションのアクティビティーの1つにSeekBarがあります。進捗状況に応じてシークバーの色を変更します。
シークバーは、私が作成するオブジェクトの重要性を私に与えます。重大度は0,1,2となります。
私が使用しているときにSeekBarの背景色をdinamically変更したいと思います。どうやってやるの ?
重要性0: "#1 ff8080"
重要性1: "#FF0000の"
重要性2: "#4d0000"
ここで私が使用したい色があります
ご協力いただきありがとうございます。さらにコードが必要な場合は教えてください。
BarreImportance.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
if(i==0)
{ //it does not accept my colors..
BarreImportance.getProgressDrawable().setColorFilter(Color.parseColor("#ff8080"));
}
if(i==1)
{
//it changes the whole background, not what I want... BarreImportance.setBackgroundColor(Color.parseColor("#ff0000"));
}
あなたは間違った方法でカラーフィルターを設定しています。まず、 'seekBar'オブジェクトで呼び出します。次に、次のようなものを試してみましょう: 'setColorFilter(Color.WHITE、PorterDuff.Mode.SRC_ATOP);' –
ありがとう!円の色を変えることも可能ですか?重要度が0の場合は、少なくともユーザーが色を認識できるようにするためです。 – David
seekBar.getThumb()。setColorFilter(..) –