需要一些帮助来开发从中间开始向两侧移动的垂直搜寻杆。 [50,0,50]

时间:2019-07-04 08:04:14

标签: android android-custom-view android-seekbar android-vertical-seekbar

我正在开发一个均衡器应用程序,需要创建一个从中间开始的垂直seekbar。我搜索了一些垂直搜索栏,但onDraw是为从底部开始向上移动的搜索栏设计的。我需要修改onDraw,以使seekbar从中间开始,进度拇指向两侧移动。

我尝试修改用于horizontal seekbar这样的代码

enter image description here

但是我需要一个垂直版本,并且不确定如何修改onDraw()方法。随附的代码适用于我尝试修改的搜索栏的水平版本。有人可以指导我如何使用rect.set()进行自定义视图或提供工作版本。

private int seekbar_height = 6;
@Override
protected synchronized void onDraw(Canvas canvas) {

    rect.set(getThumbOffset(),
            (getHeight() / 2) - (seekbar_height / 2),
            getWidth() - getThumbOffset(),
            (getHeight() / 2) + (seekbar_height / 2));

    paint.setColor(Color.GRAY);

    canvas.drawRect(rect, paint);


    if (this.getProgress() > 13) {


        rect.set(getWidth() / 2,
                (getHeight() / 2) - (seekbar_height / 2),
                getWidth() / 2 + (getWidth() / 26) * (getProgress() - 13),
                getHeight() / 2 + (seekbar_height / 2));

        paint.setColor(ContextCompat.getColor(getContext(),R.color.color_polestar_accept));
        canvas.drawRect(rect, paint);

    }

    if (this.getProgress() < 13) {

        rect.set(getWidth() / 2 - ((getWidth() / 26) * (13 - getProgress())),
                (getHeight() / 2) - (seekbar_height / 2),
                getWidth() / 2,
                getHeight() / 2 + (seekbar_height / 2));

        paint.setColor(ContextCompat.getColor(getContext(),R.color.color_polestar_accept));
        canvas.drawRect(rect, paint);

    }

    super.onDraw(canvas);
}

1 个答案:

答案 0 :(得分:0)

最后,我已经弄清楚了该怎么做。将其发布给有需要的其他人

/wp-json/wp/v2/categories