1. ホーム
  2. アンドロイド

AndroidでProgressBarの色をコードで動的に設定する

2022-02-27 08:22:02

ProgressBarのスライドの色は、progressBar.setProgressDrawable(Drawable d)という関数で設定します。

しかし、プレーンなDrawableを設定しても意味がなく、ProgressBarはその画像をタイル状に表示します。

正しい方法は、ClipDrawable を設定することです。ClipDrawable は、Drawable のクリッピング領域と、コンテナに対する Drawable の配置を制御するものです。レベルプロパティの値に基づいてクリッピングエリアの大きさを決定します。

コードはこのようになります。

ClipDrawable d = new ClipDrawable(new ColorDrawable(Color.YELLOW), Gravity.LEFT, ClipDrawable.HORIZONTAL);



progressBar.setProgressDrawable(d)を実行します。