2016-08-30 110 views
1

我最近開始爲項目使用Xamarin.Forms。像文檔中提到的那樣,原型設計非常棒。但是,我真的開始注意到UI設計的共享概念的侷限性。特別是,無法設置自定義按鈕內容(例如圖像)正在加劇。我確信會有幾個我想要改變控件工作方式的例子。Xamarin.Forms +自定義渲染器與Xamarin.iOS/Xamarin.Android

我看到它的方式,我可以採取兩條路線。一,繼續使用Xamarin.Forms並使用自定義渲染器。考慮到我仍然會喜歡我的UI代碼被共享,但是也可以從基本的Xamarin.Forms控件進行自定義,我傾向於這種選擇。二,使用原生Xamarin項目(Xamarin.iOS,Xamarin.Android)。這會讓我完全控制每個平臺的用戶界面,但這也意味着需要更多的代碼來維護。

就像我剛纔提到的,我目前贊成使用Xamarin.Forms自定義渲染器的選項。我能從那些使用過一種或者(最好)兩種選擇的人那裏得到一些見解嗎?

回答

5

我主要使用Xamarin.Forms。對於正確類型的應用程序(也就是「表單」),它運行得非常好。

編寫自定義渲染器並不難,但不幸的是文檔並不是那麼棒。根據你在做什麼,在本地控件和Forms佈局引擎之間進行轉換時,可能會有點棘手。然而,一旦你掌握了它,這是有道理的,而且現在代碼是開源的,你可以在裏面看看「內置」控件是如何工作的。

有各種擴展可以添加更多控件。有些是免費和開源的,如XLabs.Forms。所以你需要的控制可能已經在那裏了。

您可以使用像TapGestureRecognizer這樣的機制將圖像或標籤變成按鈕,所以僅僅因爲內置的表單按鈕確實缺乏可定製性,您有時可以通過其他方式獲得相同的效果,仍然留在純Xamarin.Forms。

希望有幫助!

+0

謝謝,我不知道有Xamarin擴展。 –

+0

非常贊同!那麼說@DavidS –

2

XamarinForms適用於不需要使用該設備的許多特性的示例應用程序。

對於複雜的應用程序,我建議您從Xamarin Ios和Android開始。 這將需要更多的時間來負責,但你會看到它更寬鬆

相關問題