iT邦幫忙

jetpack compose相關文章
共有 82 則文章
鐵人賽 自我挑戰組 DAY 8
Practice again& again. 系列 第 8

技術 Android UI - Jetpack Compose (2023 import 版本)

開發 Android 畫面的兩種常用方法: 使用 XML Layout 檔案 Jetpack Compose UI:本篇介紹如下 build.gr...

鐵人賽 Mobile Development DAY 30

技術 Day 30 List 的 Item 參數也能有狀態?

前言 昨天使用 *toMutableStateList*() 讓 list 新增和移除可以讓畫面更新。 今天想要嘗試更改 list 的參數內容,讓內容也可以讓...

鐵人賽 Mobile Development DAY 30

技術 Compose 解決了哪些挑戰?

 Medium 好讀版 鐵人賽系列文章今天進入最終章,在實作 Kimoji App 的過程,有許多實務經驗和心得非常想和各位讀者分享;Compose 的世...

鐵人賽 Mobile Development DAY 29

技術 Day 29 把 data List 搬到 ViewModel

前言 今天要將 training 資料搬到 viewModel。 ViewModel ViewModel 能以比較長的生命週期持有 State,讓螢幕選轉等...

鐵人賽 Mobile Development DAY 28

技術 Day28 實作 DateTimePicker

前言 昨天完成 Training 頁面雛形,今天要來加一些更改數據的互動。 首先是日期調整這裡要用到 DatePickerDialog Date Picker...

鐵人賽 Mobile Development DAY 27

技術 Day 27 Training 頁面實作

前言 今天來做 Training 頁面 預覽 先擺上今天的成果 預設主題 黑暗主題 @Preview @Composable fun...

鐵人賽 Mobile Development DAY 26

技術 Day 26 把主畫面組起來!

前言 學以致用,把主畫面組裝起來。 MainScreen 這裡傳三個 funtion 用來做頁面轉換用。 @OptIn(ExperimentalMateria...

鐵人賽 Mobile Development DAY 16

技術 Day 16 - UI Navigation

隨著功能越來越多,畫面也會越來越多,跳轉畫面與返回也逐漸複雜,所以會使用 Navigation 函式庫統一處理畫面轉換與返回操作,也降低畫面之間的依賴關係。 O...

鐵人賽 Mobile Development DAY 25

技術 Day 25 Advance State 和 Side Effect

前言 今天來介紹進階 State 和 Side Effect 。 依造昨天的慣性,先上結論表方便未來查找。 Effect_Name 更新畫面時機 執行動...

鐵人賽 Mobile Development DAY 24

技術 Day 24 改了變數畫面卻不會更新嗎?你需要來點 State!

前言 今天來介紹會觸發畫面更新的 State。先來個大總結,後頭再解釋: 在 Compose 中建議使用以下方式儲存變數 可觀察且可變 例如:State&...

鐵人賽 Mobile Development DAY 23

技術 Day 23 溫咖癲啦唯啊薩~讓按鈕浮起來吧!Floating Action Button

前言 今天來介紹整個頁面的要角 Floating Action Button。 Floating Action Button 樣子 簡稱為 FAB ,常在...

鐵人賽 Mobile Development DAY 22

技術 Day 22 navigation popup & paramater

前言 今天來介紹 navigation 怎麼管理頁面 stack,以及navigation到其他頁面時帶參數的方式。 popup stack 是一種資料結構,...

鐵人賽 Mobile Development DAY 21

技術 Day 21 Compose Navigation 頁面切換

前言 Compose 中要在不同頁面之間切換,可以用 Navigation API。今天就來用在專案中 添加依賴 dependencies { imple...

鐵人賽 Mobile Development DAY 20

技術 Day 20 使用三方庫做出 LazyGrid 拖曳排序

前言 今天要來實踐如何在 Lazy Layout 中滑動 item。 支援庫 ComposeReorderable 昨天開心的研究完手勢互動,突然發現在 L...

鐵人賽 Mobile Development DAY 19

技術 Day 19 使用者互動,如何在 compose 中監聽 click、drag 等動作

前言 今天來研究如何處理使用者互動行為,這個專案會用到 click、drag 等動作,讓記事進入編輯狀態,還能透過拖曳來改變 list 的順序。所以首先要先知...

鐵人賽 Mobile Development DAY 18

技術 Day 18 實作 Grid Layout 2 調整卡片內容樣式

前言 今天接續昨天,調整卡片樣式。目標樣式: 字體大小 參考 MD3 Card日期我們使用 title medium 內文使用 body medium 在 T...

鐵人賽 Mobile Development DAY 17

技術 Day 17 實作 Grid Layout 和 Card

前言 詳讀完 grid layout ,接下來要使用在專案中。除了呈現,我還要做出紀錄長按 item,並且記住 item index 的功能。 前置作業 1...

鐵人賽 Mobile Development DAY 16

技術 Day 16 Lazy Grid Layout : content 佈局 Scope、橫跨多欄 Span

前言 昨天講解了 Grid Layout 的基本用法,今天來講最後一個參數 content 的 LazyGridScope 是什麼。 Scope Layou...

鐵人賽 Mobile Development DAY 15

技術 Day 15 Lazy Grid Layout

前言 今天來研究 Layout 排版中的 GridLayout。 Grid Layout 首先我們要了解LazyVerticalGrid的欄位有什麼,在 c...

鐵人賽 Mobile Development DAY 14

技術 Day 14 Text Brush 2 從圖片吸取顏色、指定字串範圍套用筆刷風格

前言 昨天介紹了 Brush 如何套用在字體,以及重複上色的模式TileMode,今天帶來用圖片作為字體色,以及指定範圍內字體套用筆刷風格的方法。 用圖片顏色...

鐵人賽 Mobile Development DAY 13

技術 [Day13] Compose 的狀態管理 (四)

將可組合項作為可靠來源如果狀態和邏輯比較簡單,在可組合項中使用界面邏輯界面和元素狀態是一種不錯的方法。例如,以下是處理 ScaffoldState 和 Coro...

鐵人賽 Mobile Development DAY 13

技術 Day 13 Text Brush

前言 因為團隊成員聖佑有把 Text 屬性全部詳說一遍了,所以我想來點不一樣的,今天來研究 Brush API 來做出字體漸層色效果。 Brush API...

鐵人賽 Mobile Development DAY 12

技術 [Day12] Compose 的狀態管理 (三)

在 Compose 中恢復狀態 在重新創建活動或狀態進程後,您可以使用rememberSaveable 恢復狀態。rememberSaveable 在重組後保持...

鐵人賽 Mobile Development DAY 12

技術 Day 12 IconButton,從IconButton的參數看到狀態提升技巧。

前言 Card 上面會用到關閉的 IconButton。來介紹IconButton的參數,並且從Toggle Button 的參數來介紹狀態提升的技巧。 Ic...

鐵人賽 Mobile Development DAY 11

技術 [Day11] Compose 的狀態管理 (二)

State and Jetpack Compose II Stateful versus stateless 使用記住存儲對象的 Composable 會創建內...

鐵人賽 Mobile Development DAY 11

技術 Day 11 Top App Bar、Scaffold

前言 今天研究 Search bar 如何用 TopAppBar 實現。 TopAppBar 上方導覽列,分為四種樣式。M3 和 M2不同的點在於,捨棄了陰...

鐵人賽 Mobile Development DAY 10

技術 [Day10] Compose 的狀態管理 (一)

State and Jetpack Compose I 今天開始來學習 compose 的狀態管理。 應用中的狀態是可以隨時間變化的任何值。 所有 Androi...

鐵人賽 Mobile Development DAY 10

技術 Day 10 Card

前言 今天詳細介紹 Card 的種類,以及實作時需要注意的事項。 Card @Composable fun MyCard() { Card() {...

鐵人賽 Mobile Development DAY 10

技術 Recomposition 的特性

 Medium 好讀版 此系列文章是以我的業餘專案: Kimoji 作為範例。這款以純 Jetpack Compose 撰寫的 side project...

鐵人賽 Mobile Development DAY 9

技術 [Day9] Thinking in Compose (三)

此文件會討論幾個 compose 程式的注意事項: Composable 函式可以按任意順序執行 Composable 函式可以同時/平行地被執行 Recom...