質問: ### Xamarin.formsで1枚の画像を複数に分割してそれぞれを別のコンポーネントに表示させるようなことがしたいです 作成中のアプリで画像を多用しそうなのですが、1枚づつ読み込んでいてはコードが複雑になりそうですし、 何よりResourcesフォルダの見栄えが悪くなるのが嫌です そこで、読み込む画像は数枚にまとめて、分割してから表示すればいいと思ったのですが、 それらしいクラス/関数が見当たりません Xamarinではこういうことは簡単にはできないのでしょうか? ### 補足情報(言語/FW/ツール等のバージョンなど) Xamarin.forms v2.3.3.193
回答: CSSスプライトのような事ですね。 サポートしていませんし、する動機がありません。 CSSスプライトを行う最大の動機は、画像ファイルのダウンロード回数を減らして高速化を図るというところにあります。 一方でスマホアプリではアイコン等のファイルを同梱できるため、複数の画像を一つにまとめる必要がありません。 "Resourcesフォルダの見栄えが悪くなる"という点については、CSSで表現するかパスで表現するかの違いですから、 複数の画像を一つに結合して扱う動機としては弱いでしょう。 スマホアプリ: パス(ディレクトリ構造+画像ファイル名)で表現 CSS: 「画像ファイル名+表示すべき位置とサイズ」に別名を与えることで表現 自作できない事もありませんが、iOSやAndroidのフレームワークが持つ機能(キャッシングや画面解像度に適したファイルの選択)の恩恵を受けるのが難しくなるため魅力的な選択肢とは思えません。 Xamarin.Formsにおける画像の扱いに関しては、一度ここに目を通してみてください。 Images - Xamarin