kamulog

xamarin.formsのネタなど

Xamarin Docs 翻訳ブランチまとめ

Xamarin 日本語ドキュメント リポジトリ

github.com

の翻訳を修正した作業ブランチをまとめてみます。

なぜこんなことをするのかというと、このリポジトリは、PRで取り込まれた直後は良いんですが 本家が修正されると、また機械翻訳で上書きされてしまう問題があり、自分があとで確認するときに迷子になるからです。

  • 注意事項
  • ListView のパフォーマンス
  • FlexLayout
  • レイアウト圧縮
  • カスケード スタイル シート (CSS) を使用した Xamarin.Forms アプリのスタイル設定
  • Xamarin.Forms Visual State Manager
  • PlatformSpecific の使用
  • PlatformSpecific の作成
  • Xamarin を使用した継続的インテグレーションの概要
  • Xamarin における Jenkins の使用
  • Azure Active Directory B2C のユーザーの認証
  • Azure Active Directory B2C を Azure Mobile Apps に統合する
続きを読む

CollectionView という Xamarin.Forms 向けの 縦以外のレイアウトに対応した ListView を公開しました。

以前 WrapLayout というカスタムレイアウトを含む AiForms.Layouts というライブラリを作成しました。これは、要素を水平方向に配置していき端まできたら折り返すというだけのものでした。そして現在は、FlexLayoutの登場によりその役割をほぼ終えています。

AiForms.Layouts では繰り返し要素を配置するコントロールとして、FlexLayoutやStackLayoutをItemTemplateに対応させたものもあります。

しかし、これらは実直に要素を物理的に生成して配置していくだけなので、要素が増えるとパフォーマンスが激しく低下するという問題がありました。

本来多くの要素を配置する場合は UICollectionView / RecyclerView を使用するべきで、そうなるとPlatform側でちゃんと対応させねばならないと思っていました。

SettingsView というものを作った時に UICollectionView / RecyclerView の実装方法を少しだけ覚えたので、それを生かしてちびちび作成したものが出来上がったので、この度nugetで公開しました。

前述の問題を解決した WrapLayout のListView対応版という風な捉え方で問題ないと思います。ただ現在のところ固定サイズのセルのみ対応です。 1種類だとあれなので、おまけとして水平方向ListView的なものも用意しています。

続きを読む

Xamarin.Forms (Android) のListViewでFFImageLoadingとNativeCellを使ってout of memoryを回避しつつ高速化するサンプル(iOSはViewCellのまま使用する)

Xamarin.Forms の ListView は、Android で使う場合(特に画像を扱う場合)にパフォーマンスが悪いという問題があります。これは Fast Renderer を有効にしても変わりません。 普通にやってたら描画が遅くてメモリリークで落ちがちなので、何らかの対策が必要です。

個人アプリの復習帳では、ListViewやTableViewのセルは全てNativeCellで処理しています。それとは別に仕事で扱ってるプロジェクトではNativeCellに加えてFFImageLoadingのCachedImageを組み合わせた対策を行いました。

そういうわけで、今回はAndroidのListViewを快適に使うためのNativeCell+FFImageLoadingのサンプルをご紹介します。

続きを読む