RatioButton:一個(gè)帶有大小單位轉(zhuǎn)換功能的數(shù)量修改控件

RatioButton

  • 帶有大小單位轉(zhuǎn)換功能的數(shù)量修改控件锰蓬,常用于商品管理app沥阱。
  • Quantity modification control with size unit conversion function, commonly used in commodity management app

GitHub地址: https://github.com/lintianlin/RatioButton

詳細(xì)介紹

  • 我們開發(fā)過程中供炼,部分類型的商品管理app會(huì)經(jīng)常用到大小單位轉(zhuǎn)換崇摄,如酒類中的1箱=6瓶的轉(zhuǎn)換拉鹃。RatioButton就是將大小單位轉(zhuǎn)換的邏輯辈赋,庫(kù)存判斷邏輯,越界判斷邏輯進(jìn)行了封裝膏燕,避免了重復(fù)造輪子钥屈。目前的v1.0.0還是一個(gè)基礎(chǔ)版本,后期還需要進(jìn)行優(yōu)化坝辫。

示例效果

dialog.gif
ratio.gif
yj.gif
zero.gif

關(guān)鍵代碼


    public void setDisplayCount(int tempSmallCount, int tempBigCount) {
        if (ratio > 0) {//ratio為轉(zhuǎn)換率篷就,ratio>0是當(dāng)有大單位的時(shí)候
            if (tempBigCount * ratio + tempSmallCount > maxCount) {
                ToastUtils.showToast(context, ERRORTIP);
                bigCount = maxCount / ratio;//取整運(yùn)算
                smallCount = maxCount % ratio;//取余運(yùn)算
            } else {
                if (tempSmallCount > ratio) {//當(dāng)小單位數(shù)量大于ratio的時(shí)候需要進(jìn)位
                    smallCount = tempSmallCount % ratio;
                    bigCount = tempBigCount + tempSmallCount / ratio;
                } else {
                    smallCount = tempSmallCount;
                    bigCount = tempBigCount;
                }
            }
        } else {
            smallCount = tempSmallCount;
            bigCount = tempBigCount;
        }
        if (smallCount == 0) {//越界判斷,當(dāng)數(shù)量為0時(shí)阀溶,減按鈕不能點(diǎn)擊并置灰
            btnSmallSub.setEnabled(false);
        } else {
            btnSmallSub.setEnabled(true);
        }
        if (bigCount == 0) {
            btnBigSub.setEnabled(false);
        } else {
            btnBigSub.setEnabled(true);
        }
        tvSmallCount.setText(String.valueOf(smallCount));
        tvBigCount.setText(String.valueOf(bigCount));
    }

屬性

屬性 屬性名稱 類型 默認(rèn)值
btnHeight 控件的高度 dimension 0
btnWidth 控件的高度 dimension 0
tvTextSize 數(shù)量的字體大小 dimension 0
editable 是否可以直接編輯 boolean false
haveBigUnit 是否有大單位 boolean false
minAmount 最小數(shù)量 integer 0
margin 小單位按鈕距離大單位按鈕的距離 dimension 10

使用方法

  • 1.Add it in your root build.gradle at the end of repositories:

    allprojects {
            repositories {
                ...
                maven { url 'https://jitpack.io' }
            }
        }
  • 2.Add the dependency

    dependencies {
                implementation 'com.github.lintianlin:RatioButton:v1.0.0'
        }
  • 3.edit xml

    <com.sinfeeloo.ratiobutton.RatiolBtn
            android:id="@+id/bsb_goods"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/tv_goods_name"
            android:layout_alignParentEnd="true"
            app:margin="5dp"
            app:btnHeight="30dp"
            app:btnWidth="120dp">
        </com.sinfeeloo.ratiobutton.RatiolBtn>
  • 4.edit java
         ratioBtn.setRatio(item.getRatio());
            ratioBtn.setMaxCount(item.getStorage());
            ratioBtn.setUnit(item.getSmallUnit(), item.getBigUnit());
            ratioBtn.setDisplayCount(item.getSmallcount(), item.getBigCount());
            ratioBtn.setOnCountChangedLisener(new OnCountChangedListener() {
                @Override
                public void onCountChange(View view, int bigCount, int smallCount) {
                    
                }
            });
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末腻脏,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子银锻,更是在濱河造成了極大的恐慌永品,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件击纬,死亡現(xiàn)場(chǎng)離奇詭異鼎姐,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門炕桨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來饭尝,“玉大人,你說我怎么就攤上這事献宫≡科剑” “怎么了?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵姊途,是天一觀的道長(zhǎng)涉瘾。 經(jīng)常有香客問我,道長(zhǎng)捷兰,這世上最難降的妖魔是什么立叛? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮贡茅,結(jié)果婚禮上秘蛇,老公的妹妹穿的比我還像新娘。我一直安慰自己顶考,他們只是感情好赁还,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著村怪,像睡著了一般秽浇。 火紅的嫁衣襯著肌膚如雪浮庐。 梳的紋絲不亂的頭發(fā)上甚负,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音审残,去河邊找鬼梭域。 笑死,一個(gè)胖子當(dāng)著我的面吹牛搅轿,可吹牛的內(nèi)容都是我干的病涨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼璧坟,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼既穆!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起雀鹃,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤幻工,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后黎茎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體囊颅,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了踢代。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盲憎。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖胳挎,靈堂內(nèi)的尸體忽然破棺而出饼疙,到底是詐尸還是另有隱情,我是刑警寧澤慕爬,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布宏多,位于F島的核電站,受9級(jí)特大地震影響澡罚,放射性物質(zhì)發(fā)生泄漏伸但。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一留搔、第九天 我趴在偏房一處隱蔽的房頂上張望更胖。 院中可真熱鬧,春花似錦隔显、人聲如沸却妨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)彪标。三九已至,卻和暖如春掷豺,著一層夾襖步出監(jiān)牢的瞬間捞烟,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工当船, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留题画,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓德频,卻偏偏與公主長(zhǎng)得像苍息,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子壹置,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1竞思、通過CocoaPods安裝項(xiàng)目名稱項(xiàng)目信息 AFNetworking網(wǎng)絡(luò)請(qǐng)求組件 FMDB本地?cái)?shù)據(jù)庫(kù)組件 SD...
    陽(yáng)明先生_X自主閱讀 15,982評(píng)論 3 119
  • 有一次在一刻tlak上聽到紀(jì)元老師的早起,印象非常深刻钞护,就一直關(guān)注盖喷,老師的微信公眾號(hào)。這次老師推出了患亿,自律星100...
    毛巾浴巾毛毯枕巾閱讀 222評(píng)論 1 2
  • 夜 安安靜靜 如何獨(dú)處才會(huì)快樂 做自己喜歡的事情 喜歡什么呢?工作之余传蹈,我真的很宅押逼。 宅在家里,宅在家里做什么呢惦界?...
    努力紅閱讀 245評(píng)論 0 0
  • 文/Roy等風(fēng)來 木葉下流出血一般的光明 和著漸涌的微波 和夏蟬的碎鳴 在溫軟無(wú)際的夜 擎著油亮透明的遮陽(yáng)傘 戲弄...
    Roy等風(fēng)來閱讀 197評(píng)論 0 1
  • 七律·又是教師節(jié) 文/周國(guó)新 孤燈陪伴一年年挑格,歲月輪回舊夢(mèng)連。 桃李有情常問候沾歪,光陰無(wú)意卻相牽漂彤。 桂花淡...
    舒心語(yǔ)文閱讀 139評(píng)論 0 1