【Flutter 學習筆記】ElevatedButton 按鈕元件

更新 發佈閱讀 7 分鐘
vocus|新世代的創作平台
【Flutter 學習筆記】🎬 教學影片:連結
【Flutter 學習筆記】📚 文章目錄:連結

今天我們要來深入探討 Flutter 框架中的一個重要元件——ElevatedButton(漂浮按鈕)。在這篇文章中,我將逐步拆解這個元件的用法,讓大家能夠清楚理解每個部分的功能與用途。

什麼是 ElevatedButton?

在 Flutter 中,按鈕元件有多種型態,包括 TextButton(文字按鈕)、IconButton(圖示按鈕)等。而 ElevatedButton 是最常用的按鈕之一。它的特點是擁有陰影效果,讓按鈕看起來像是漂浮在畫面上,這也是它名稱中的「Elevated」所代表的意義。這種設計概念源自於 Material Design 的設計規範。

ElevatedButton 的基本用法

讓我們來看看如何在 Flutter 中使用 ElevatedButton。首先,我們在 build 方法中加入一個 Center Widget,然後在 child 參數中新增一個 ElevatedButton 元件。

@override
Widget build(BuildContext context) {
return Center(
child: ElevatedButton(
onPressed: () {
print('我被點擊了!');
},
child: Text('按鈕'),
),
);
}

參數解析

在 ElevatedButton 的小括號內,我們可以看到兩個必填參數:

  1. onPressed:這是一個函數,當按鈕被點擊時會執行的程式碼。child:這是按鈕內部顯示的內容,通常是一個 Text Widget。

這兩個參數都是具名參數,並且使用了 required 修飾詞,表示這兩個參數是必須填寫的。

使用匿名函數

在 onPressed 參數中,我們傳入了一個匿名函數。這個函數沒有參數,也沒有回傳值,因此我們使用小括號和大括號來定義它。在大括號內,我們可以寫下按鈕被點擊後要執行的程式碼。在這裡,我們只是簡單地使用 print 函數來輸出一條訊息。

如果需要更新畫面,就需要使用 StatefulWidget 並呼叫 setState 方法來更新畫面。

儲存與 Hot Reload

當我們完成程式碼後,使用快捷鍵存檔,這時候 Flutter 的 Hot Reload 功能會自動啟用。你會看到畫面正中央出現一個按鈕,點擊它後,輸出資訊區會顯示「我被點擊了!」。

如果在下方的偵錯控制台沒有看到輸出,可以點擊右上角開啟下方資訊視窗,再次點擊按鈕就能看到輸出結果。VS Code 會幫我們計數,避免資訊量過多。

設定按鈕的顏色樣式

接下來,我們來看看如何設定按鈕的顏色樣式。注意,參數之間要用逗號隔開。

ElevatedButton(
onPressed: () {
print('我被點擊了!');
},
style: ElevatedButton.styleFrom(
backgroundColor: Colors.blue, // 設定背景顏色
foregroundColor: Colors.white, // 設定文字顏色
),
child: Text('按鈕'),
)

在 style 參數中,我們使用 ElevatedButton.styleFrom() 方法來設定按鈕的樣式。這裡我們設定了 backgroundColor 為藍色,foregroundColor 為白色。再次存檔後,按鈕的顏色樣式就會改變。

設定按鈕的形狀

除了顏色,我們還可以設定按鈕的形狀。在 ElevatedButton.styleFrom() 方法中,有一個 shape 參數可以用來設定按鈕的外框形狀。

style: ElevatedButton.styleFrom(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8.0), // 設定圓角半徑
),
)

在這裡,我們使用 RoundedRectangleBorder 方法來設定按鈕的外框形狀,並在 borderRadius 參數中傳入 BorderRadius.circular(8.0),這表示按鈕的圓角半徑為 8.0。這樣的設計可以讓按鈕看起來更加柔和,符合現代 UI 設計的趨勢。

完整的 ElevatedButton 範例

以下是整個 ElevatedButton 的完整範例,包含顏色和形狀的設定:

@override
Widget build(BuildContext context) {
return Center(
child: ElevatedButton(
onPressed: () {
print('我被點擊了!');
},
style: ElevatedButton.styleFrom(
backgroundColor: Colors.blue, // 設定背景顏色
foregroundColor: Colors.white, // 設定文字顏色
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8.0), // 設定圓角半徑
),
),
child: Text('按鈕'),
),
);
}

小結

今天我們深入探討了 Flutter 中的 ElevatedButton 漂浮按鈕元件,學習了如何使用它的基本功能,包括設定按鈕的顏色、文字、形狀等屬性。希望這些資訊對大家在開發 Flutter 應用程式時有所幫助。

如果這篇文章對你有幫助,別忘了幫我按個讚、分享和訂閱,這是對我最大的支持!我們下次課程再見,掰掰!

留言
avatar-img
HKT實驗室
31會員
278內容數
哈囉!歡迎光臨我的沙龍!我是 KT,一位對應用程式開發充滿熱情的開發者。在這個專屬空間,我將與您分享我在應用開發領域的深入學習心得和豐富的實戰經驗。如果您對應用程式開發技術同樣充滿好奇,渴望不斷探索新知,歡迎成為我們的會員,一起在應用程式開發的旅途上,探索更深層次的技術世界,享受學習的樂趣。
HKT實驗室的其他內容
2024/11/28
在本文中,我們將介紹 TextField 文字輸入框元件及其基本用法。TextField 是一個關鍵的元件,使用者可以輕鬆地輸入文字,廣泛應用於各類應用程式中,如表單、搜尋框和聊天介面等。
Thumbnail
2024/11/28
在本文中,我們將介紹 TextField 文字輸入框元件及其基本用法。TextField 是一個關鍵的元件,使用者可以輕鬆地輸入文字,廣泛應用於各類應用程式中,如表單、搜尋框和聊天介面等。
Thumbnail
2024/11/28
本篇文章將深入探討如何在 Flutter 中使用 Image 圖片元件。我們將涵蓋從資源管理到顯示本地資料夾中的圖片,以及如何載入網路圖片的完整過程。透過這篇文章,您將學會如何有效地管理圖片資源,並在應用程式中正確顯示圖片,提升您的 Flutter 開發技能。
Thumbnail
2024/11/28
本篇文章將深入探討如何在 Flutter 中使用 Image 圖片元件。我們將涵蓋從資源管理到顯示本地資料夾中的圖片,以及如何載入網路圖片的完整過程。透過這篇文章,您將學會如何有效地管理圖片資源,並在應用程式中正確顯示圖片,提升您的 Flutter 開發技能。
Thumbnail
2024/11/25
在本篇教學中,我們介紹了 Flutter 中的 Row 和 Column 佈局容器,並探討了它們的基本用法及進階技巧。此外,我們還提到如何使用快捷鍵來格式化程式碼,以提升可讀性。
Thumbnail
2024/11/25
在本篇教學中,我們介紹了 Flutter 中的 Row 和 Column 佈局容器,並探討了它們的基本用法及進階技巧。此外,我們還提到如何使用快捷鍵來格式化程式碼,以提升可讀性。
Thumbnail
看更多
你可能也想看
Thumbnail
在本篇教學中,我們介紹了 Flutter 中的 Row 和 Column 佈局容器,並探討了它們的基本用法及進階技巧。此外,我們還提到如何使用快捷鍵來格式化程式碼,以提升可讀性。
Thumbnail
在本篇教學中,我們介紹了 Flutter 中的 Row 和 Column 佈局容器,並探討了它們的基本用法及進階技巧。此外,我們還提到如何使用快捷鍵來格式化程式碼,以提升可讀性。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
5 月將於臺北表演藝術中心映演的「2026 北藝嚴選」《海妲・蓋柏樂》,由臺灣劇團「晃晃跨幅町」製作,本文將以從舞台符號、聲音與表演調度切入,討論海妲・蓋柏樂在父權社會結構下的困境,並結合榮格心理學與馮.法蘭茲對「阿尼姆斯」與「永恆少年」原型的分析,理解女人何以走向精神性的操控、毀滅與死亡。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
GestureDetector onTap、onDoubleTap和onLongPress class _GestureTestState extends State<GestureTest> { String _operation = "No detected!"; //事件名稱 @o
Thumbnail
GestureDetector onTap、onDoubleTap和onLongPress class _GestureTestState extends State<GestureTest> { String _operation = "No detected!"; //事件名稱 @o
Thumbnail
這篇文章深入探討了 Flutter 框架中的 ElevatedButton(漂浮按鈕)元件。文章介紹了其基本用法,包括必填參數 onPressed 和 child 的解析,並示範了如何使用匿名函數來處理按鈕點擊事件。此外,還說明了如何設定按鈕的顏色和形狀,並提供了完整的範例程式碼。
Thumbnail
這篇文章深入探討了 Flutter 框架中的 ElevatedButton(漂浮按鈕)元件。文章介紹了其基本用法,包括必填參數 onPressed 和 child 的解析,並示範了如何使用匿名函數來處理按鈕點擊事件。此外,還說明了如何設定按鈕的顏色和形狀,並提供了完整的範例程式碼。
Thumbnail
通過使用插槽,組件可以變得更加靈活和可重用,例如 <FancyButton> 可以讓父組件提供按鈕的內部內容,而 <BaseLayout> 則可以使用命名插槽來指定不同區域的內容。插槽還可以設置預設內容,當父組件未提供插槽內容時,會渲染預設內容。
Thumbnail
通過使用插槽,組件可以變得更加靈活和可重用,例如 <FancyButton> 可以讓父組件提供按鈕的內部內容,而 <BaseLayout> 則可以使用命名插槽來指定不同區域的內容。插槽還可以設置預設內容,當父組件未提供插槽內容時,會渲染預設內容。
Thumbnail
在這篇文章中,我們介紹了 Dart 中的字串資料類型,包括如何使用單引號和雙引號定義字串、如何建立多行字串,以及如何使用字串插入。字串資料型態在處理文字、顯示訊息或進行字串操作時非常實用,開發者可以根據需求靈活運用這些特性。
Thumbnail
在這篇文章中,我們介紹了 Dart 中的字串資料類型,包括如何使用單引號和雙引號定義字串、如何建立多行字串,以及如何使用字串插入。字串資料型態在處理文字、顯示訊息或進行字串操作時非常實用,開發者可以根據需求靈活運用這些特性。
Thumbnail
本篇文章介紹 GameWidget 是 Flutter 中用於嵌入遊戲實例的 widget,能作為應用程式的根部件或嵌入其他 widget 中。它自動擴展以填滿可用空間,並提供多種結構支援功能,如加載、錯誤處理和背景裝飾。
Thumbnail
本篇文章介紹 GameWidget 是 Flutter 中用於嵌入遊戲實例的 widget,能作為應用程式的根部件或嵌入其他 widget 中。它自動擴展以填滿可用空間,並提供多種結構支援功能,如加載、錯誤處理和背景裝飾。
Thumbnail
本文深入探討 Flutter 中的 Container 元件,這是一個多功能的包裝 Widget,能夠有效管理和裝飾其他 Widget。文章將詳細說明如何調整 Container 的大小、設置外部間距(margin)以及使用 BoxDecoration 來自訂樣式。
Thumbnail
本文深入探討 Flutter 中的 Container 元件,這是一個多功能的包裝 Widget,能夠有效管理和裝飾其他 Widget。文章將詳細說明如何調整 Container 的大小、設置外部間距(margin)以及使用 BoxDecoration 來自訂樣式。
Thumbnail
本文介紹了 Dart 中具有參數的函式。具有參數的函式允許靈活地處理不同輸入,增強程式碼的模組化和可重用性。透過範例說明,讀者能夠理解如何定義和使用這些函式,並掌握進階概念以提升程式設計能力。
Thumbnail
本文介紹了 Dart 中具有參數的函式。具有參數的函式允許靈活地處理不同輸入,增強程式碼的模組化和可重用性。透過範例說明,讀者能夠理解如何定義和使用這些函式,並掌握進階概念以提升程式設計能力。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News