Skip to content
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を呼ぶ方法を理解する

ハンズオン手順