第三百六十一回

文章目錄

  • 1. 概念介紹
  • 2. 實現方法
    • 2.1 環繞效果
    • 2.2 立體效果
  • 3. 示例代碼
  • 4. 內容總結

我們在上一章回中介紹了"自定義SlideImageSwitch組件"相關的內容,本章回中將介紹兩種陰影效果.閑話休提,讓我們一起Talk Flutter吧。

在這里插入圖片描述

1. 概念介紹

我們在本章回中將介紹如何實現兩種陰影效果,一種是環繞在組件周圍的陰影效果,呈發散形狀,該效果可以讓組件有種發光的效果,類似燈或者太陽;另外一種是只出現
在組件下方的陰影效果,該效果可以讓組件呈現出立體的效果。具體的效果可以參考下面的示例圖片,圖片中黃色區域就是陰影:

2. 實現方法

總體來講陰影效果都是通過組件實現的,只是不同的陰影效果使用不同的組件,針對這兩種陰影效果,我們分別介紹它們的實現方法。

2.1 環繞效果

環繞陰影效果通過Container組件實現,該組件配合BoxDecoration組件可以在其它組件周圍添加陰影,Container組件主要負責把組件和陰影組合在一起,通過它
的decoration屬性和child屬性實現組合功能。真正負責陰影效果的是BoxDecoration組件,它通過boxShadow屬性可以組合多個BoxShadow陰影組件,
在BoxShadow組件中可以使用它的屬性控制陰影的顏色,范圍和位置。

  • color屬性:主要用來控制陰影的顏色;
  • offset屬性:主要用來控制陰影的范圍;
  • blurRadius屬性:主要用來控制陰影的范圍;

2.2 立體效果

立體陰影效果通過Card組件實現,該組件通過自己的屬性既可以把陰影效果和其它組件組合在一起,又可以直接控制陰影的效果,下面是相關的屬性:

  • child屬性:主要用來把陰影效果和組件組合在一起;
  • shadowColor屬性:主要用來控制陰影的顏色;
  • elevation屬性:主要用來控制陰影的大小;

3. 示例代碼

///演示兩種陰影效果:BoxDecoration控制的效果在周圍,呈發散形狀。對應180的內容
Row(mainAxisAlignment: MainAxisAlignment.spaceAround,children: [///正常的陰影,陰影效果在組件周圍四個方向Container(width: 100,height: 100,decoration: const BoxDecoration(color: Colors.blue,boxShadow:[ BoxShadow(color: Colors.yellow,blurRadius: 24.0,),],),),///在正常的陰影的基礎通過offset控制陰影的位置Container(width: 100,height: 100,decoration: const BoxDecoration(color: Colors.blue,boxShadow:[ BoxShadow(color: Colors.yellow,///控制陰影的位置offset: Offset(0, 10),///控制陰影的大小blurRadius: 24.0,),],),),///card的陰影效果只在下方位置,有立體效果,無法控制陰影的位置const Card(color: Colors.blue,shadowColor: Colors.yellow,///控制陰影的大小elevation: 24,child: SizedBox(width: 100,height: 100,),),],
),

上面的示例代碼演示了如何實現兩種陰影效果,它與上一小節中的實現方法保持一致。在演示環繞陰影效果時一個示例保持默認的位置,另外一個示例調整的陰影的位置,
不過調整后陰影效果仍然出現在組件周圍,而不會單獨出現在某一個邊上。此外,我推薦大家自己動手去實踐,通過調整陰影的顏色,位置等內容來體會一下陰影效果。

4. 內容總結

最后,我們對本章回的內容做一個全面的總結:

  • 本章回主要介紹了環繞和立體兩種陰影效果;
  • 環繞陰影效果主要通過Container組件實現;
  • 立體陰影效果主要通過Card組件實現;
  • 可以調整陰影效果的顏色,范圍和位置;
    看官們,與"兩種陰影效果"相關的內容就介紹到這里,歡迎大家在評論區交流與討論!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/696635.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/696635.shtml
英文地址,請注明出處:http://en.pswp.cn/news/696635.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Gson 庫的使用

Gson 是由 Google 開發的一個流行的 Java 庫,用于處理 JSON 數據的序列化和反序列化。它提供了簡單易用的 API,使得在 Java 應用程序中操作 JSON 數據變得非常方便。 以下是 Gson 庫的一些主要特點和用法 簡單易用 Gson 提供了一個簡單而直觀的 API,使得在 Java 應用程序中…

谷歌seo推廣怎么做?

除了常規的優化之外,還可以針對特定垂直搜索進行優化,比如圖片的以及視頻的搜索優化,這對于販賣自己產品的網站來說也是挺重要的一點 圖片需要確保您的圖片文件名包含相關關鍵詞,并為每張圖片添加描述性的ALT文本,以幫…

經濟學-信用貨幣初始發行與派生

由于黃金美元的種種缺陷,經濟學家找到了一種替代黃金的方案,這種替代品就是債務,它可以解決黃金有限的問題,并且債務這種抵押品耗費的人力物力遠遠低于其他抵押品(例如黃金還得需要開采) 假設一個國家剛剛…

調用 Python 函數遺漏括號 ( )

調用 Python 函數遺漏括號 1. Example - error2. Example - correctionReferences 1. Example - error name "Forever Strong" print(name.upper()) print(name.lower)FOREVER STRONG <built-in method lower of str object at 0x0000000002310670>---------…

Swift基礎知識:22.Swift構造過程

在 Swift 中&#xff0c;構造過程是實例化一個類、結構體或枚舉實例的過程&#xff0c;它包括設置實例的初始狀態和執行其他必要的設置。構造過程通過定義構造器&#xff08;initializer&#xff09;來實現&#xff0c;構造器是一種特殊的方法&#xff0c;用于創建和初始化實例…

SqlServer2016離線安裝--Microsoft R Open 和 Microsoft R Server安裝文件位置

問題 SQL SERVE 2016離線安裝&#xff0c;會出現“Microsoft R Open 和 Microsoft R Server 脫機安裝”的界面&#xff0c; 無法點擊下一步的情況&#xff0c;如下圖&#xff1a; 原因 離線安裝時需要下載兩個文件 解決方案 1、訪問路徑下載文件 https://go.microsoft.c…

Python 實現 OBV 指標計算:股票技術分析的利器系列(7)

Python 實現 OBV 指標計算&#xff1a;股票技術分析的利器系列&#xff08;7&#xff09; 介紹算法解釋 代碼rolling函數介紹核心代碼計算 VA 列計算 OBV 列計算 MAOBV 完整代碼 介紹 OBV 指標是“On-Balance Volume”的縮寫&#xff0c;意為“量價平衡指標”。它是一種用于衡…

《游戲引擎架構》 -- 學習4

資源及文件系統 文件系統 游戲引擎的文件系統API通常提供以下功能&#xff1a; 搜需路徑&#xff1a;是含一串路徑的字符串&#xff0c;各路徑之間以特殊字符&#xff08;如冒號或分號&#xff09;分隔&#xff0c;找文件時就會從這些路徑進行搜尋。例如在命令行下執行程序&a…

Code Composer Studio (CCS) - 全局搜索功能

Code Composer Studio [CCS] - 全局搜索功能 1. Ctrl H&#xff0c;全局搜索功能References 1. Ctrl H&#xff0c;全局搜索功能 References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

VS和QT聯合開發

提示:本文為學習記錄,若有疑問,請聯系作者,謙虛受教。 文章目錄 前言一、安裝二、新建項目1.VS打不開UI文件2.VS找不到QT對應的版本號三、其他問題1.vs無法識別加載ui新添加的控件2.UI界面出現中文亂碼3.修改VS字體顏色4.自動代碼補全功能5.添加<QtSerialPort/qserialpo…

【AI大模型】ChatGPT在地學、GIS、氣象、農業、生態、環境等領域中的高級應用

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千問為代表AI大語言模型帶來了新一波人工智能浪潮&#xff0c;可以面向科研選題、思維導圖、數據清洗、統計分析、高級編程、代碼調試、算法學習、論文檢索、寫作、翻譯、潤色、文獻輔助…

Leetcode | 231. 2 的冪 C語言

Problem: 231. 2 的冪 文章目錄 思路解題方法Code 思路 說白了就是靠硬算&#xff0c;但是要知道對sum不進行控制就會導致直接超標&#xff0c;所以要在for循環的條件中加上sum < n 解題方法 由思路可知 Code bool isPowerOfTwo(int n) {long int sum 1;for(int i 0; i &…

拉伸圖片覆蓋整個頁面的css寫法

如果您想要拉伸一張圖片以覆蓋整個頁面&#xff0c;可以使用以下CSS代碼&#xff1a; body {margin: 0;padding: 0;height: 100%;background-image: url(your-image-url.jpg); /* 替換為您的圖片URL */background-size: cover;background-position: center center; /* 可選&…

vue3+vite項目中顯示SVG圖片

使用vite顯示本地svg圖標 vite-plugin-svg-icons是一個Vite插件&#xff0c;其作用是將SVG圖標文件轉換為Vue組件&#xff0c;以便在Vue項目中使用。 使用vite-plugin-svg-icons插件&#xff0c;可以將SVG圖標文件導入到項目中&#xff0c;并將其轉換為可復用的Vue組件。這樣&a…

語文成績(洛谷)

題目 原題 題目背景 語文考試結束了&#xff0c;成績還是一如既往地有問題。 題目描述 語文老師總是寫錯成績&#xff0c;所以當她修改成績的時候&#xff0c;總是累得不行。她總是要一遍遍地給某些同學增加分數&#xff0c;又要注意最低分是多少。你能幫幫她嗎&#xff1f; 輸…

【springboot】 `@Column` 注解的使用

定義一個實體的屬性時&#xff0c;如果和數據庫的列名不一致的時候&#xff0c;需要用column 建立映射關系。 Column 是 Java 持久化 API&#xff08;Java Persistence API&#xff0c;JPA&#xff09;中的注解之一&#xff0c;用于指定實體類中屬性與數據庫表中列的映射關系。…

2024牛客(4)K題

登錄—專業IT筆試面試備考平臺_牛客網 using i64 long long; using ll long long; constexpr ll M 1e9 7; template<class Info> struct SegmentTree {int n;std::vector<Info> info;SegmentTree() : n(0) {}SegmentTree(int n_, Info v_ Info()) {init(n_, …

Vue樣式綁定

1. 綁定 HTML class ①通過class名稱的bool值判斷樣式是否被啟用 <template><!--通過樣式名稱是否顯示控制樣式--><div :class"{ haveBorder: p.isBorder, haveBackground-color: p.isBackgroundcolor }">此處是樣式展示區域</div><br /…

Linux篇:開發工具yum/vim/gcc/g++/Makefile/gdb

一. yum&#xff1a;軟件包管理器 什么是軟件包&#xff1f; 在Linux 下安裝軟件 , 一個通常的辦法是下載到程序的源代碼 , 并進行編譯 , 得到可執行程序 . 但是這樣太麻煩了, 于是有些人把一些常用的軟件提前編譯好 , 做成軟件包 (可以理解成windows 上的安裝程序) 放在…

Linux C++ 字符編碼轉換 GBK與UTF8互轉

Linux 下使用 iconv 命令可以轉換文件的編碼 iconv -f GBK -t UTF-8 input_file -o output_fileC 代碼 使用 iconv 函數 iconv 函數簽名&#xff1a; size_t iconv(iconv_t cd,、 char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft); 需要注意的是&…