【關鍵字】
HarmonyOS NEXT、Rect元件、顏色漸變
1、寫在前面
今天在使用Rect元件時,想給它設定一個顏色漸變的效果,沒想到真的是一波三折,一起來看一下實現這個簡單效果一路上經歷的艱辛吧。首先,先來了解一下繪製元件中的Rect元件,它是用來實現矩形繪製的元件,API文件如下:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-drawing-components-rect-0000001821000929
在屬性描述中看到該元件支援通用屬性,在通用屬性中可以找到顏色漸變這一屬性,API文件如下:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-universal-attributes-gradient-color-0000001774280858
結合上面的文件,很快便寫出瞭如下用來實現Rect元件顏色漸變的程式碼:
結果卻是黑色的,沒有達到想要的效果:
這是怎麼回事呢?
2、解決方案
在經過一番思考之後,想到了之前在給Button按鈕設定顏色漸變的背景圖片時也遇到了未生效的問題,有需要的可以跳過去看一下那篇文章,地址我放在下面了:
https://developer.huawei.com/consumer/cn/forum/topic/0202142274361099019?fid=0102683795438680754
於是乎便猜測可能是同一類問題,需要先設定背景色為透明色,結合Rect元件的相關屬性,所以決定透過給fill設定填充區域為透明色來試一下,因此有了下面的程式碼:
然後發現確實可以實現顏色漸變了,效果如下:
到這裡顏色漸變的問題就已經解決了,為了更加美觀,決定給它設定一個圓角吧,所以又給Rect元件新增了一個radius屬性,程式碼如下:
不出意外的話就要出意外了,哼哼圓角沒有生效。
又經過一番思考和嘗試,發現使用borderRadius屬性可以生效,因此就有了下面的程式碼:
所以最終的實現效果如下:
以上就是這個小問題的整個過程啦,有需要的可以參考。