1

最近私はXamarin.Formsをプロジェクトに使用し始めました。ドキュメントのように、プロトタイプ作成には最適です。しかし、私は本当にUIデザインの共通概念の限界に気付き始めています。特に、カスタムボタンのコンテンツ(画像など)を設定できないことは悪化しています。私は、コントロールがどのように動作するかを変更したい場合がいくつか存在すると確信しています。Xamarin.Forms +カスタムレンダラーvs Xamarin.iOS/Xamarin.Android

私はそれを見て、私が取ることができる2つのルートがあります。 1つは、Xamarin.Formsの使用を継続し、カスタムレンダラーを使用します。私はまだ私のUIコードを共有したいと思っているだけでなく、基本的なXamarin.Formsコントロールからカスタマイズすることを考えて、私はこのオプションに傾いています。 2つは、ネイティブのXamarinプロジェクト(Xamarin.iOS、Xamarin.Android)を使用します。これにより、各プラットフォームのUIを完全に制御できますが、維持するコードが増えることにもなります。

私が言及したように、私は現在、Xamarin.Formsでカスタムレンダラーを使用するオプションを好んでいます。 1つまたは(好ましくは)両方のオプションを使用した人からいくつかの洞察を得ることができますか?

答えて

5

私は主にXamarin.Formsを使用しました。適切な種類のアプリ(「フォーム」のようなもの)については、かなりうまく機能します。

カスタムレンダラを書くことはそれほど難しいことではありませんが、ドキュメントは残念ながらそれほど大きくありません。あなたがやっていることに応じて、ネイティブコントロールとFormsレイアウトエンジンの間で翻訳するのは少し難しいかもしれません。しかし、いったんそれを理解すると、それは意味をなさないが、コードはオープンソースであるため、「組み込み」コントロールがどのように機能するかを見ることができます。

さらに多くのコントロールを追加するさまざまな拡張機能があります。 XLabs.Formsのように、いくつかはフリーでオープンソースです。あなたが必要とするコントロールがすでにそこにあるかもしれません。

TapGestureRecognizerのようなメカニズムを使用してイメージまたはラベルをボタンにすることができます。組み込みのフォームボタンが本当に本当に本当にカスタマイズ性に欠けているからといって、同じ効果を得るための他の方法を見つけることができます。まだ純粋なXamarin.Forms内にとどまります。

希望に役立ちます!

+0

ありがとう、私はXamarinの拡張機能があるかどうかわかりませんでした。 –

+0

もっと同意できませんでした!よく言った@DavidS –

2

XamarinFormsは、デバイスの多くの特異性を使用する必要のないサンプルアプリケーションに適しています。

複雑なアプリケーションでは、Xamarin IosとAndroidを使い始めることをお勧めします。 これには時間がかかりますが、それははるかに許容性があることがわかります