回覆列表
  • 1 # 超自然科學所

    forms本身ui程式碼是翻譯為平臺原生程式碼,forms按照xaml技術進行對android和ios兩種ui模型進行公共抽象出了幾種page和view,在空杯部落格已經有詳細介紹  cdf881125/article/details/48029431。其中tabedpage就是其中之一,但是當他們執行起來卻是andorid在上面,ios在下面,很不雅觀,現如今像美團,qq,微信之類的UI都是tab頭在下。  看起來實在很彆扭,既然forms本身tabedpage並不支援讓tab頭在上還是下的設定,那麼只好自定義  二 自定義tan控制元件實現方式  2.1 思路  xamarin在其幫助文件中已經寫得很明確自定義需要forms+原生程式碼透過renderer實現,在這裡不得不說一點,本身net程式設計師是不懂什麼原生android和ios開發基礎知識的連個佈局都不知道,更不知道具體怎麼實現,一時間連個思路都沒有,於是百度,百度不行換他哥googleFQ,git各種xamarin tab關鍵字,答案嘛有道是有但是都是這種方式實現,程式碼基本看不懂,android倒是很好入門因為其語法本身跟c#基本太多類似,但是oc就不好說了(如果沒有一點基礎的話)  透過renderer實現其中一段,其艱辛程度之高,一個c#程式設計師需要先了解forms自定義控制元件原理,然後找幾本android和ios書看一遍然後再把customrenderer例子程式碼看個遍,自建app軟體需要哪些製作工具http://www.yingtaow.com/appdz/170.html?xamarin/xamarin-forms-samples/tree/master/CustomRenderers,因為我就是這樣需求思路的,再有git的xlib/Xamarin.Forms-CustomTabbedPage,這裡面自定義了一些但是基本上沒有啥用處,經過這些過後不得不再去看看android和ios人家本身實現的原理,我想說既然2個平臺都有基本瞭解了況且實現起來也是分分鐘的事情,xamarin的學習成本到底還是那麼高啊。  2.2 xamarin.forms 佈局控制元件實現  gruan01/FlipView 自己實現的廣告欄,  /chrisriesgo/xamarin-forms-carouselview 找到辦法  2.3 自己實現 思考能不能透過forms本身實現,那就不用關心平臺renderer怎麼實現了,自然是可以的,利用stacklayout +contentview,佈局巢狀實現  實現思路:stacklayout作為容器,垂直對齊  ,  三 實現結果  3.1 只有圖片做tab頭  3.2 只有文字tab頭  3.3 文字和圖片均來做tab頭  4 來一張ios的實現  四 總結  這裡實現也只是投機取巧而已,xamarin 本身自定義還是需要renderer透過原生程式碼實現,這裡不得不思考一下實現思路以及參考資源

  • 中秋節和大豐收的關聯?
  • plc中定時器、計數器的工作原理是什麼?