金額刻度尺Ruler

Ruler GitHub 下載地址
在GitHub看過一些實現,發現大部分都是使用ScrollView實現,沒有重複複用刻度,如果刻度值很大,就可能引起OOM,所有我這裏實用的是自定義View,實現刻度值複用
效果圖:
這裏寫圖片描述

這裏主要是自定義View實現刻度共用
刻度滾動動畫:ValueAnimator
可實現自定義刻度值樣式
實例代碼:

 rulerView.addOnCurrentUnitTextListener(new RulerView.OnCurrentUnitTextListener() {

            DecimalFormat format = new DecimalFormat("0.00");

            @Override
            public void onCurrentUnitText(float text, float unit, float legend) {
                tvHelloWord.setText(format.format(text));
            }
        });

        rulerView.setOnFormatUnitTextListener(new RulerView.OnFormatUnitTextListener() {
            private DecimalFormat format = new DecimalFormat("0");

            @Override
            public String onFormatText(float text, float unit, float legend) {
                return format.format(text);
            }

            @Override
            public int getDecimalDigits() {
                return 0;
            }
        });
        rulerView.setOnFormatUnitLegendTextListener(new RulerView.OnFormatUnitTextListener() {

            private DecimalFormat format = new DecimalFormat("0");

            @Override
            public String onFormatText(float text, float unit, float legend) {
                return "¥" + format.format(text);
            }

            @Override
            public int getDecimalDigits() {
                return 0;
            }
        });
        rulerView.setCurrentUnit(10);

下載地址:https://github.com/ttarfall/Ruler

發佈了37 篇原創文章 · 獲贊 26 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章