0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何使電池出現(xiàn)一個會動的充電效果

OpenHarmony技術(shù)社區(qū) ? 來源:HarmonyOS技術(shù)社區(qū) ? 作者:湯志威 ? 2022-04-12 09:17 ? 次閱讀

最近在學習 HarmonyOS 開發(fā)文檔,發(fā)現(xiàn) transform 樣式動畫感覺很有趣,于是打算用現(xiàn)有的方法寫一個會動的充電效果。

c573cef0-b9c3-11ec-aa7f-dac502259ad0.png

如下圖:
c5a2fd74-b9c3-11ec-aa7f-dac502259ad0.gif ?

繪制電池輪廓

實現(xiàn)過程如下:首先我們使用 css 畫電池,繪制一個長方形需要給這個正方形四個角增加一點點的弧度,再給電池畫一個頭部,只有一個電池的輪廓就出來了,我在里面增添了一點顏色方便后面觀察。

首先繪制一個電池:
c5b7d9f6-b9c3-11ec-aa7f-dac502259ad0.png

然后增加個 div 來實現(xiàn)動畫效果,這個我打算用蒙版來處理,蒙版不需要增加太多細節(jié)寬高和藍色 div 一樣就行,然后通過 overflow: hidden 來實現(xiàn)蒙版效果,接下來就是讓白色 div 動起來就行了。

<imgsrc=“./電池遮罩.png”alt=“電池遮罩”style=“zoom:67%;”/>

電池動畫效果

需要使電池出現(xiàn)一個充電的效果,這時候就需要使用一個讓電池電量上升的一個效果,這個用平移動畫就夠了,如果加蒙版屬性的話會更好一點。

.mask2{
position:absolute;
height:220px;
width:140px;
left:50%;
transform:translate(-50%,50%);
border-radius:15px15px5px5px;
background:linear-gradient(#7abcff,#2196F3);
overflow:hidden;
}

電池漸變:

background:linear-gradient(#7abcff,#2196F3);

蒙版效果:

overflow:hidden;

.mask3{
position:absolute;
width:150px;
height:220px;
bottom:140px;
left:50%;
transform:translate(-50%,-80);
z-index:1;
animation:down6sfast-out-linear-ininfinite;
background-color:#ffffff;
}

電池平移動畫:

animation:down6sfast-out-linear-ininfinite;
/*css彈跳*/
@keyframesdown{
/*停止*/
0%{
transform:translate(0px,200px);
}
/*上升*/
10%{
transform:translate(0px,180px);
}
/*上升*/
20%{
transform:translate(0px,160px);
}
/*上升*/
30%{
transform:translate(0px,140px);
}
/*上升*/
40%{
transform:translate(0px,120px);
}
/*上升*/
50%{
transform:translate(0px,100px);
}
/*上升*/
60%{
transform:translate(0px,80px);
}
/*上升*/
70%{
transform:translate(0px,60px);
}
/*上升*/
80%{
transform:translate(0px,40px);
}
/*上升*/
90%{
transform:translate(0px,20px);
}
/*起始位*/
100%{
transform:translate(0px,0px);
}
}

百分百給的越多動畫就越細膩。

拓展1

如下圖:

c5c6b3fe-b9c3-11ec-aa7f-dac502259ad0.gif

如果需要使電池充電時進行旋轉(zhuǎn)也是可以的,只需要把平移效果換成旋轉(zhuǎn)就可以了。

.mask3{
position:absolute;
width:150px;
height:150px;
bottom:140px;
left:50%;
transform:translate(-50%,0);
z-index:1;
animation:rotate4sinfinite;
border-radius:70px63px60px66px;
background-color:#ffffff;
}

旋轉(zhuǎn)動畫:

animation:rotate4sinfinite;

/*css旋轉(zhuǎn)*/
@keyframesrotate{
from{
transform:rotate(0deg)
}
to{
transform:rotate(360deg);
}
}

拓展2

也可以通過添加按鈕來增加可改變的顏色樣式,首先需要把 css 中的顏色樣式給移到 js 中這樣方便后面的切換,然后在 js 中寫入需要替換的電池顏色樣式。

c5ddf5c8-b9c3-11ec-aa7f-dac502259ad0.gif

代碼如下:

class="mask1">
class="mask4">
class="mask2"value="{{qr_value}}"type="{{qr_type}}" style="background-color:{{gradualChange}};">
class="mask3"value="{{qr_value}}"type="{{qr_type}}" style="background-color:{{baseColor}};">
class="txt">電池加載色 <selectonchange="loadingColor"> for="{{load}}"value="{{$item}}">{{$item}} select>
class="txt">電池剩余色 <selectonchange="remainingColor"> for="{{remaining}}"value="{{$item}}">{{$item}} select>

data:{
baseColor:'#f0ffff',
gradualChange:'#87ceeb',
remaining:['#87ceeb','#fa8072','#da70d6','#80ff00ff','#2196F3'],
load:['#f0ffff','#ffffe0','#d8bfd8']
},

最終的效果如下圖:

c5ddf5c8-b9c3-11ec-aa7f-dac502259ad0.gif

總結(jié)

這些還只是Harmony組件庫中動畫樣式里的一小部分,如果再使用旋轉(zhuǎn)加平移屬性就能實現(xiàn)更加炫酷的動畫效果,能夠帶來更好的視覺體驗,組件庫中還有著許多有趣的組件實例和詳細的使用方法,掌握這些組件的使用可以使我們更好的了解和參與Harmony。

作者:湯志威

原文標題:在HarmonyOS上寫一個會動的充電效果

文章出處:【微信公眾號:HarmonyOS技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

審核編輯:湯梓紅


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 充電
    +關(guān)注

    關(guān)注

    22

    文章

    1316

    瀏覽量

    94605
  • 電池
    +關(guān)注

    關(guān)注

    84

    文章

    10576

    瀏覽量

    129679
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1975

    瀏覽量

    30194

原文標題:在HarmonyOS上寫一個會動的充電效果

文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術(shù)社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    聯(lián)想G490筆記本電池充電

    上面顯示電源已接通但未充電,電池可用為0,我把電池管理軟件調(diào)到充到100%,我去維修站 ,換了過新電池切正常是,他們說
    發(fā)表于 06-01 10:12

    請推薦無涓流充電的鋰電池充電芯片。

    般鋰電池充電芯片當電池電壓低于2.9V時進入涓流充電狀態(tài),充電電流只有正常的1/10.可我的電
    發(fā)表于 11-23 16:28

    充電寶的電池換了不同容量的電池出現(xiàn)電路板發(fā)熱?請老師給講解下,先謝謝了!

    各位老師好:我使用的充電寶的電池是3.7v的4800mAh的,使用1年多了充電寶給設(shè)備供電時間短了。正好手上有3.7v 6800mah的電池
    發(fā)表于 06-22 11:15

    電池充電器的反向電壓保護

    MP1 使 MP2 脫離運行狀態(tài),因為電池電壓強制充電器電容進行吸收。這使 MP2 從充電器電容器吸取電荷的能力與 MP1 使 MP2 脫
    發(fā)表于 12-02 09:18

    電池充電IC電路設(shè)計基礎(chǔ)

    ,正是這個電壓定義了電池的"空"狀態(tài)。此時,仍有剩余電量,但將其拔出可能會損壞電池。對于 PbA 電池,在定義充電方法時,安培小時 (Ah) 額定值通常是
    發(fā)表于 03-08 10:49

    基于HarmonyOS實現(xiàn)的電池充電動畫效果

    最近在學習HarmonyOS開發(fā)文檔,發(fā)現(xiàn)transform樣式動畫感覺很有趣,用現(xiàn)有的方法寫會動充電效果。實現(xiàn)過程
    發(fā)表于 03-28 12:02

    esp8266充電電池的問題求解

    我正在為班級創(chuàng)建夜燈類型的項目,它需要的功能之是便攜和可充電,而無需從產(chǎn)品中取出
    發(fā)表于 05-15 07:32

    使用MAX8934設(shè)計簡單的電池充電

    使用MAX8934鋰離子電池充電器可以設(shè)計簡單的電池充電器,它在
    發(fā)表于 09-11 17:08

    為什么蓄電池修復效果查詢會出現(xiàn)負數(shù)

    為什么蓄電池修復效果查詢會出現(xiàn)負數(shù)    《蓄電池修復效果速查》程序是以市面上常見的普通水平的蓄
    發(fā)表于 11-17 10:31 ?1361次閱讀

    電池協(xié)會動力鋰電池技術(shù)協(xié)作與推廣應用委員會在昆山成立

    電池協(xié)會動力鋰電池技術(shù)協(xié)作與推廣應用委員會在昆山成立      中國電池協(xié)會動力鋰
    發(fā)表于 02-04 09:27 ?650次閱讀

    設(shè)計師的指導(李鋰離子)電池充電

    鋰離子(李離子)電池的優(yōu)勢鞏固了他們的地位作為便攜式電子產(chǎn)品的主要動力源,盡管有缺點,設(shè)計師不得不限制充電速率,以避免損壞電池和創(chuàng)建
    發(fā)表于 05-09 09:14 ?7次下載
    <b class='flag-5'>一</b><b class='flag-5'>個</b>設(shè)計師的指導(李鋰離子)<b class='flag-5'>電池</b>的<b class='flag-5'>充電</b>

    如何設(shè)計基于MPPT的鉛酸電池充電器與BQ2031電池充電

    此應用報告旨在為用戶設(shè)計基于MPPT的鉛酸電池充電器與BQ2031電池充電器。本報告包含
    發(fā)表于 07-20 08:58 ?42次下載
    如何設(shè)計<b class='flag-5'>一</b><b class='flag-5'>個</b>基于MPPT的鉛酸<b class='flag-5'>電池</b><b class='flag-5'>充電</b>器與BQ2031<b class='flag-5'>電池</b><b class='flag-5'>充電</b>器

    如何制作低成本的電池充電器?

    該電路可以對鎳鎘電池和鎳氫電池充電,非常適合于玩具上的電池、遙控器上的電池充電。發(fā)光二極管用于指
    的頭像 發(fā)表于 08-14 17:42 ?9680次閱讀

    一個正規(guī)簡單的充電器來延長電池的壽命

    正規(guī)充電器都應該含有兩可調(diào)電阻,其中主管最高輸出電壓。找到它并旋轉(zhuǎn)到底,使輸出最高電壓調(diào)至最低。以此種狀態(tài)給
    的頭像 發(fā)表于 01-25 11:48 ?1415次閱讀

    批量制造電池總是出現(xiàn)單只問題的原因

    不滿,后果更嚴重! 單獨充效果還不錯,但操作復雜!使用小電流過充,會好些,但直沒找到比較合適的小電流過充方法!請不吝賜教!另請說明,
    發(fā)表于 11-19 16:48 ?438次閱讀