定制rangeseekbar android用一个拇指

时间:2014-02-25 07:27:08

标签: java android android-layout android-seekbar

我想得到这种类型的输出。我正在使用自定义rangeseekbar。(参考this link

我有这个输出。

enter image description here

但我想得到这种类型的输出..

enter image description here

黄色选择器是一种范围搜索栏。我想创建自定义范围搜索栏,所以请帮助我。 我已经创建了两个拇指rangeseekbar,但我想创建单个图像显示rangeseekbar,它应该是streatchable。

提前致谢。

1 个答案:

答案 0 :(得分:0)

该特定库具有非常特定的Holo主题Seekbar绘图代码。您必须实现自己的绘图代码才能达到您想要的效果。

图书馆的代码可以帮助您入门;

/**
     * Draws the widget on the given canvas.
     */
    @Override
    protected synchronized void onDraw(Canvas canvas) {
            super.onDraw(canvas);

            // draw seek bar background line
            final RectF rect = new RectF(padding, 0.5f * (getHeight() - lineHeight), getWidth() - padding, 0.5f * (getHeight() + lineHeight));
            paint.setStyle(Style.FILL);
            paint.setColor(Color.GRAY);
            paint.setAntiAlias(true);
            canvas.drawRect(rect, paint);

            // draw seek bar active range line
            rect.left = normalizedToScreen(normalizedMinValue);
            rect.right = normalizedToScreen(normalizedMaxValue);

            // orange color
            paint.setColor(DEFAULT_COLOR);
            canvas.drawRect(rect, paint);

            // draw minimum thumb
            drawThumb(normalizedToScreen(normalizedMinValue), Thumb.MIN.equals(pressedThumb), canvas);

            // draw maximum thumb
            drawThumb(normalizedToScreen(normalizedMaxValue), Thumb.MAX.equals(pressedThumb), canvas);
    }

您在此处看到的是RangeSeekBar类中的onDraw回调。在这里绘制蓝色和灰色线条,然后在它们上方绘制拇指。你将不得不做类似的事情,但你需要具体的逻辑,图形等。

因此,要么继承RangeSeekBar并扩展该库的功能,要么根据官方Android课程的提示创建自己的自定义View或ViewGroup; http://developer.android.com/training/custom-views/index.html