iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 3
0

今天我們要來移動我的們 Progress Bar 囉~~

移動 Progress Bar

MainActivity.kt

private fun movebar() {

        discountSBar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener{

            override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {
                if (priceEditText.text.isEmpty()) {
                    return
                }else{
                    discountPercentTv.text = "打折($progress%)"
                    calculate(progress)
                }
            }

            override fun onStartTrackingTouch(seekBar: SeekBar?) {}
            override fun onStopTrackingTouch(seekBar: SeekBar?) {}
        })

    }
    

接下來我們可以透過 setOnSeekBarChangeListener 用匿名變數來使用 SeekBarChangeListener

並 override 三個 function 我們這次會用到的是 onProgressChanged 這個 function

我們可以取得 現在的 Progress Level 於是我們將顯示打幾折,與計算打折金額、打折後金額的 function 一起放進來。

我們就可以隨著使用者移動 seekBar 同時更新畫面。

那讓我們來看看計算的過程。

Calculate

MainActivity.kt

private fun calculate(progress: Int) {

        val totalDiscount = (value * progress / 100)
        discountTotalTv.text = String.format("$%,.2f", totalDiscount)

        val afterDiscount = value - totalDiscount
        afterDiscountTv.text = String.format("$%,.2f", afterDiscount)

    }

這裡我們就可以運用簡單的計算過程得到得到我們需要的打折金額、打折後金額。

這裡我們可以透過 String.format 的 function 來自定義我們所想要的格式。

以上面的例子來說就代表我希望能夠在 totalDiscount 前方加個錢號並且只顯示小數點後兩位數。

今天就先這樣囉~~ 明天見~~


上一篇
Day2_Discount_1 取得使用者輸入資訊
下一篇
Day4_ImagePicker
系列文
發現新大陸-Android Kotlin 開發之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言