仿瓜子二手车价格选择控件(9)

其次还要保证在两圆滑动的过程中最上方显示价格信息描述的圆角矩形弹窗始终位于两圆的中间位置,还有就是文章开头分析的,当滑动的距离小于步长的一半时,松开滑动,圆需要回弹到上一个位置处,很多细节都是需要处理的,在写的过程中会遇到很多奇葩的问题,需要有足够的耐心慢慢去调试,最后我们需要在手指抬起也就是 up 时将数据回调给 UI 进行展示 [好文分享:www.11jj.com]

case MotionEvent.ACTION_UP:
                if (touchLeftCircle) {
                    int partsOfLeft = getSliceByCoordinate((int) event.getX());
                    leftCircleObj.cx = leftCircleObj.cx - rightCircleObj.cx >= 0 ? rightCircleObj.cx : partsOfLeft*perSlice+strokeRadius;
                }else {
                    int partsOfRight = getSliceByCoordinate((int) event.getX()); [原文来自:www.11jj.com]
                    rightCircleObj.cx = rightCircleObj.cx - leftCircleObj.cx <= 0 ? leftCircleObj.cx : partsOfRight*perSlice+strokeRadius;
                }

                int leftData = getSliceByCoordinate(leftCircleObj.cx)*sliceValue + minValue;
                int rightData = getSliceByCoordinate(rightCircleObj.cx)*sliceValue + minValue;
                leftValue = leftData > maxValue ? maxValue : leftData;
                rightValue = rightData > maxValue ? maxValue : rightData;
                //回调
                if (listener != null) {
                    listener.onMoveValue(leftValue, rightValue);
                }
                break;
        }

最后,我们再来看下布局文件以及 Activity 中如何调用展示

<com.ch.custom.view.RangeBarView
        android:id="@+id/view_range_bar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="50dp"
        app:rect_line_default_color="@color/color_cdcd"
        app:rect_line_checked_color="@color/color_275D9D"
        app:left_circle_solid_color="@color/color_fff"
        app:left_circle_stroke_color="@color/color_cdcd"
        app:right_circle_solid_color="@color/color_fff"
        app:right_circle_stroke_color="@color/color_cdcd"
        app:circle_stroke_width="2dp"
        app:circle_radius="15dp"
        app:rect_line_height="3dp"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        />

以及 Activity

int minValue = 0;
        int maxValue = 100;
        int sliceValue = 20;
        tvLeftValue.setText(minValue+"");
        tvRightValue.setText(maxValue+"");
        rangeBarView.setDatas(minValue, maxValue, sliceValue, new RangeBarView.OnMoveValueListener() {
            @Override
            public void onMoveValue(int leftValue, int rightValue) {
                tvLeftValue.setText("左边值为:" + leftValue + "--> "+leftValue);
                tvRightValue.setText("右边值为:" + rightValue + "--> "+rightValue);
            }
        });


总结

自媒体 微信号:11jj 扫描二维码关注公众号
爱八卦,爱爆料。

小编推荐

  1. 1

    521爱你们呦

    The bird wishes it were a cloud你好情人节LOVE 521恋人节限制案牍011.江山远阔,人世炊火无一是你,无一不是你。2.顺利的话,我们会娶亲,会去看海,会去

  2. 2

    注意!这项考试将调整!

    最新新闻自2025年起山东省省属事业单元单子雇用笔试由一科变为两科近日,山东省委组织部、省人力资源社会保障厅发布通知,为适应新时代事业单

  3. 3

    千呼万唤!《庆余年2》开播啦~ 韩昊霖告别"小范闲",全新身份为好视立代言!

    点击蓝字存眷我们余年有庆,与君重逢。《庆余年》第二季已于5月16日起在CCTV8和腾讯视频同步开播!这真是一个备受等候的新闻。该剧由浩瀚实力派

  4. 4

    氪金是什么意思网络用语(网络词氪金什么意思)

    大家好,小丽今天来为大家解答氪金是什么意思网络用语以下问题,网络词氪金什么意思很多人还不知道,现在让我们一起来看看吧!1、氪金,原为

  5. 5

    武汉社保缴费基数2022最新(2022年武汉社保缴费基数是多少)

    大家好,小豪今天来为大家解答武汉社保缴费基数2022最新以下问题,2022年武汉社保缴费基数是多少很多人还不知道,现在让我们一起来看看吧!1、

  6. 6

    烤瓷牙的危害与副作用(烤瓷牙的危害究竟有多大,看完你就明白了!)

    大家好,小丽今天来为大家解答烤瓷牙的危害与副作用以下问题,烤瓷牙的危害究竟有多大,看完你就明白了!很多人还不知道,现在让我们一起来看看

  7. 7

    我被同学们轮流玩(我被同学们轮流玩)

    大家好,小豪今天来为大家解答我被同学们轮流玩以下问题,我被同学们轮流玩很多人还不知道,现在让我们一起来看看吧!1、我们是一家六口人,

  8. 8

    抟怎么读(徙怎么读)

    大家好,小美今天来为大家解答抟怎么读以下问题,徙怎么读很多人还不知道,现在让我们一起来看看吧!1、“抟”字的读音是:tuán。2、拼音:

Copyright 2024.依依自媒体,让大家了解更多图文资讯!