P3PPP edited this page Aug 7, 2016 · 5 revisions

Xamarin.FormsのViewRendererと仲良くなるハンズオン

ハンズオン概要

私(@ticktackmobile)のブログ記事

【Xamarin.Forms】ViewRendererと仲良くなるための簡易チュートリアル - ぴーさんログ

こちらを元にしたハンズオン企画です。

Xamarin.Formsコントロールをイチから自作できるようになるための要点を押さえます。

想定対象者

  • Xamarin.Formsを使ったことがある
  • Xamarin.Formsで対応できないUIへの対処に不安を持っている

Xamarin.Formsを使ったことがない人や、「Hello Worldくらい」な人は、こういう手段があるんだ程度に覚えて帰ってください。

ハンズオンを完了した後こうなっていてほしい

  • 既存のコントロールをカスタムや、独自のネイティブコントロールをXamarin.Formsのコントロール化できるようになる

目次

  • Xamarin.Formsコントロールの仕組みを理解する(前説資料)
  • Xamarin.Formsコントロールのプロパティをネイティブコントロールに反映させる方法を理解する
  • Xamarin.FormsコントロールのイベントをRendererから発火する方法を理解する
  • Xamarin.FormsコントロールからネイティブコントロールのAPIを呼ぶ方法を理解する

前説資料

Xamarin.FormのViewとRendererについての解説(PowerPoint Online)

BoxViewもどきを実装する

カラーとコーナー半径のプロパティを持ち、クリックイベントに対応したオリジナルのBoxViewを実装します。

これにより以下のポイントを押さえます。

  • Xamarin.Formsコントロールのプロパティをネイティブコントロールに反映させる方法を理解する
  • Xamarin.FormsコントロールのイベントをRendererから発火する方法を理解する

WebViewもどきを実装する

WebViewの「進む」、「戻る」機能を実装してネイティブコントロールのAPIを呼ぶ方法を学びます。 さらにパラメータを取るAPIとしてJavascript評価機能も実装します。

実装方法として、 internalイベントを利用するものMessagingCenterを利用するもの の2つのアプローチを紹介します。

これにより以下のポイントを押さえます。

  • Xamarin.FormsコントロールからネイティブコントロールのAPIを呼ぶ方法を理解する

ハンズオン手順

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.