iT邦幫忙

2023 iThome 鐵人賽

DAY 18
0
自我挑戰組

Kotlin & Flutter App 開發比較思考日誌系列 第 18

[鐵人賽 Day 18] Kotlin & Flutter 改變元件狀態方法比較

  • 分享至 

  • xImage
  •  

前言

回顧前幾篇寫的鐵人賽文章內容,個人覺得需要強調說明關於改變元件狀態的部分,因為這是 Kotlin & Flutter 在建立元件蠻重要的差異。

目的

比較 Kotlin & Flutter 改變元件狀態方法差異

例子

如下圖所示,黑邊心型元件在被點擊後須變成實心紅色愛心:
https://ithelp.ithome.com.tw/upload/images/20230922/20162686LpEoc3fMkv.png

在寫 Kotlin 的時候在想什麼呢?

  1. 建立好初始 imageView 元件 layout 至黑邊心型後,監聽元件的點擊事件 (setOnClickListener)。
  2. listener 監聽到點擊事件時,重新設定元件 layout ,變成實心紅色愛心。

在寫 Flutter 的時候在想什麼呢?

  1. 這個愛心元件(heart)的狀態會被改變,所以要用 StatefulWidget 元件,才能改變元件狀態。
  2. 建立一個繼承 StatefulWidget 的元件 class Heart extends StatefulWidget,Override createState()
  3. 新增繼承 State<MyHomePage> 的類別,在此類別的 build() returnGestureDetector元件包著的愛心元件。
  4. GestureDetector元件 onTap 屬性,得知何時有點擊愛心按鈕。
  5. onTap 屬性傳入的方法裡,用 setState((){}) 重新設定一次愛心元件狀態,變成實心紅色愛心。

上一篇
[鐵人賽 Day 17] Kotlin & Flutter 元件比較(三) - 佈局相關常用元件實例補充
下一篇
[鐵人賽 Day 19] Kotlin & Flutter 元件比較(四) - 常見的可滑動元件名稱統整
系列文
Kotlin & Flutter App 開發比較思考日誌30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言