onDraw()メソッドをオーバーライドして、シークバーの外観をカスタマイズしようとしています。画面上の現在の進行状況/セカンダリ進行状況を見つける必要があります。
現在の進捗状況/二次進捗状況を取得する方法を知っていますが、これは画面上の位置を反映しgetProgress()
てgetSecondaryProgress()
いません。プログレスドローアブルを取得してドローアブルの境界、またはプログレスに使用されるclipDrawableのレベルを次のように取得できると思いました。
Drawable progress = getProgressDrawable();
if (progress instanceof LayerDrawable)
{
Drawable primaryProgress = ((LayerDrawable)progress).findDrawableByLayerId(android.R.id.progress);
Rect bounds= primaryProgress.copyBounds();//bounds.left is 0, bounds.right is the screen width
((ClipDrawable)primaryProgress).getLevel();//just gives a value between 0 and 10,000
}
しかし、私が取得した値は、画面上の位置も反映していません。誰かが私がこれらの値を取得する方法を知っていますか?