翻譯|使用教程|編輯:陳津勇|2019-10-15 16:53:31.227|閱讀 1280 次
概述:本文主要介紹了Essential Studio for Xamarin 2019 v3中新的Xamarin.Forms Effects視圖組件及其在各種情況下的使用方法。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
一個現(xiàn)代的移動應(yīng)用程序都有極具吸引力的動畫。移動應(yīng)用程序通常包括許多動畫類型,如波紋、旋轉(zhuǎn)和縮放,這些類型的動畫使應(yīng)用程序具有很強(qiáng)的交互性。
Xamarin.Forms中可用于實現(xiàn)iOS和Android這類效果的選項很少。在安卓系統(tǒng)中,你可以使用RippleDrawable來增加漣漪效應(yīng),但在Xamarin.iOS系統(tǒng)中卻沒有。此外,作為單獨的特性使用時,這種效果更好。當(dāng)您需要同時包含多個動畫(比如ripple和rotation)時,您需要在共享和特定于平臺的項目中進(jìn)行大量調(diào)整。
點擊下載Essential Studio for Xamarin正式版
為了更有效地提供這些效果,Syncfusion在iOS和Android平臺2019 v3測試版為Xamarin引入了一個名為effects View的新組件(此控件作為Syncfusion.Xamarin.Core NuGet包的一部分提供)。它是一個容器控件,可以接受任何類型的視圖作為它的子視圖,提供了諸如突出背景、波紋、選擇、放大、縮小和旋轉(zhuǎn)等效果。該控件的一個優(yōu)點就是,這些效果在不同的組合(例如高光和波紋、波紋和選擇、選擇和縮放、波紋和旋轉(zhuǎn)等)中也可以正常工作。
不同的效果
“效果視圖”中有不同類型的效果。本文將說明如何分別使用它們,然后介紹它們的一些可能組合。
突出
通過將效果模式設(shè)置為高光可以實現(xiàn)高光效果。完成后,此效果將自動消失。
<ContentPage xmlns:effectsView="clr-namespace:Syncfusion.XForms.EffectsView;assembly=Syncfusion.Core.XForms"> <effectsView:SfEffectsView TouchDownEffects="Highlight"> <Grid>....</Grid> </effectsView:SfEffectsView> </ContentPage>
波紋
通過將效果模式設(shè)置為Ripple可以實現(xiàn)波紋效果。與高光效果一樣,此效果也將在完成后自動淡出。
<font style="vertical-align: inherit;"><font style="vertical-align: inherit;"><effectsView:SfEffectsView TouchDownEffects =“ Ripple”> </font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> <Grid> .... </ Grid></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> </ effectsView:SfEffectsView></font></font><font></font>
旋轉(zhuǎn)
旋轉(zhuǎn)效果可以通過將效果模式設(shè)置為旋轉(zhuǎn)來實現(xiàn)。Effects視圖的內(nèi)容將根據(jù)角度值進(jìn)行旋轉(zhuǎn)。
<font style="vertical-align: inherit;"><font style="vertical-align: inherit;"><effectsView:SfEffectsView TouchDownEffects =“旋轉(zhuǎn)” Angle =“ 180”> </font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> <Grid> .... </ Grid></font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;"> </ effectsView:SfEffectsView></font></font><font></font>
縮放比例
縮放效果可以通過將效果模式設(shè)置為Scale來實現(xiàn)。Effects視圖的內(nèi)容將根據(jù)ScaleFactor的值按比例縮小或按比例放大。即,如果小于1,就會有按比例縮小;如果大于1,就會有按比例放大。
<effectsView:SfEffectsView TouchDownEffects="Scale" ScaleFactor="0.8"> <font></font> <Grid>....</Grid><font></font> </effectsView:SfEffectsView><font></fo
選擇
通過將效果模式設(shè)置為選擇,可以移動到選擇狀態(tài)。
<effectsView:SfEffectsView TouchDownEffects="Selection"> <font></font> <Grid>....</Grid><font></font> </effectsView:SfEffectsView><font></font>nt>
您還可以將屬性IsSelected設(shè)置為true。
<effectsView:SfEffectsView IsSelected="true"> <font></font> <Grid>....</Grid><font></font> </effectsView:SfEffectsView><font></font>
使用這兩種方法都會觸發(fā)SelectionChanged事件,該事件可用于應(yīng)用程序級別的自定義。
規(guī)模和選擇
正如前面所說,除了單獨使用這些效果外,您還可以組合使用它們。
組合一:設(shè)置規(guī)模和選擇的影響模式
<effectsView:SfEffectsView TouchDownEffects="Scale, Selection" ScaleFactor="0.8"> <font></font> <Grid>....</Grid><font></font> </effectsView:SfEffectsView><font></font> <font></font>
組合二:波紋和規(guī)模
另一個可能的組合是波動和規(guī)模。
<effectsView:SfEffectsView TouchDownEffects="Ripple, Scale"> <font></font> <Grid>....</Grid><font></font> </effectsView:SfEffectsView><font></font>
組合三:波紋和旋轉(zhuǎn)
您還可以使用波動和旋轉(zhuǎn)組合。
<effectsView:SfEffectsView TouchDownEffects="Ripple, Rotation"> <font></font> <Grid>....</Grid><font></font> </effectsView:SfEffectsView><font></font>
觸摸交互
在前面的代碼片段中,您可能已經(jīng)注意到不同的效果被設(shè)置為屬性TouchDownEffects。顧名思義,這些效果將在與effects視圖控件的觸摸交互期間呈現(xiàn)。如果你需要這些效果在長按或觸摸互動,可以使用長按效果和觸摸效果的屬性。
有一個有趣地方是,您可以對不同的交互產(chǎn)生不同的影響。例如,您可以將高亮設(shè)置為降落,將波紋設(shè)置為長按。
<effectsView:SfEffectsView TouchDownEffects="Highlight" LongPressEffects="Ripple, Selection" > <font></font> <Grid>....</Grid><font></font> </effectsView:SfEffectsView><font></font>
通過API觸發(fā)效果
除了觸摸交互,還可以使用ApplyEffects方法觸發(fā)這些效果。此方法的所有參數(shù)都是可選的,可以根據(jù)需要使用。如果未傳遞任何參數(shù),則將觸發(fā)紋波效果。它接受以下可選參數(shù):
effects - 設(shè)置效果的類型。
rippleStartPosition - 交互期間,波動效應(yīng)將始終從交互點開始。使用ApplyEffects方法時,可以從左側(cè)、右側(cè)、頂部或底部位置開始波動。默認(rèn)為中心。
rippleStartPoint - 設(shè)置從其開始波動的確切x、y點。
repeat - 設(shè)置是否連續(xù)重復(fù)波動效果的值。
重復(fù)并淡出波紋
淡出的波紋是在移動應(yīng)用程序中最常見的動畫之一。您可以通過在ApplyEffects方法中傳遞repeat并將FadeOutRipple屬性設(shè)置為true來實現(xiàn)此效果。
this.RotationEffectsView.ApplyEffects(repeat:true);
如果需要停止紋波效果,可以使用Reset()方法。
this.RotationEffectsView.Reset();
*想要獲得Essential Studio for Xamarin更多資源或正版授權(quán)的朋友,可以咨詢了解哦~
慧都網(wǎng)·1024程序員節(jié),DevExpress、MyEclipse、Axure RP、Aspose、FastReport等產(chǎn)品限時放“價”,給你專屬寵愛!點擊下方圖片查看活動詳情↓↓↓
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: