ぴーさんログ

だいたいXamarin.Formsのブログ

Xamarin

JXUGC #23 Xamarin 無料化一周年記念勉強会!で喋ってきました

2017/5/27(土)に開催されたJXUGC #23 Xamarin 無料化一周年記念勉強会!で喋ってきました。 Xamarin.formsで好き勝手に野良プラットフォーム from P3PPP Xamarin.Formsがさらにオープンになる変更がリリースノートでも特に言及される気配がないのでちょっと…

Xamarin Live Playerの仕組みを想像してた

今朝起きるとBuild 2017の2日目にXamarin Live Player(以降XLPと省略します)という技術が発表されていたので、今日はその仕組みについて想像していました。 5/12 午前 この時点では、どうやらXLPは「Mac不要でiOSアプリをビルドしてデバッグできる」技術らし…

【Xamarin.Forms向け】ItemsSource BindablePropertyを追加するコードスニペット

BindableなItemsコントロールを作るときにコピペしてね。(ItemsViewを自分のコントロールに置換しよう)

【Xamarin.Forms 2.3.4-pre】ちゃんとBindableになったPicker

Xamarin.Forms 2.3.4-preでPickerがItemsSourceとItemSelectedをサポートするようになります。すっごーい! さっそくこんな感じのViewModelを用意してContentPageのBindingContextにセットします。 public class ViewModel : INotifyPropertyChanged { publi…

【Xamarin.Forms 2.3.4-pre】新しいOnPlatformメカニズム

Xamarin.Forms 2.3.4-preで新しいOnPlatformの仕組みが導入され、従来の物は非推奨となります。 概要 動作プラットフォームを文字列で判別するアプローチに変更(従来はenum) Xamarin.Formsがサポートしていないプラットフォームへの対応が容易に(Tizenとか) …

Xamarin.Forms.TabbedPageのiOS版でタブを上側に変更するサンプル

teratailで回答したやつ。 Xamarin - Xamarin.FormsのTabbedページのUIをiOSとAndroidで揃えたい(62739)|teratail スクショ stackoverflowの回答を参考にしています。 ios - Positioning UITabBar at the top - Stack Overflow Xamarin.iOS側のプロジェクト…

Xamarin.Androidでアプリのビルド時にJavaのヒープがあふれる時の対処

Xamarin.Androidでアプリのビルド時に... java.lang.OutOfMemoryError. Consider increasing the value of $(JavaMaximumHeapSize). Java ran out of memory while executing 'java.exe -jar ~' のようにJavaのヒープ領域があふれてエラーになったら 対処 X…

【Xamarin.Forms 2.3.3】 Platform Specifics

Xamarin.Forms 2.3.3で Platform Specifics という機能が追加されました。 これはPCLなどの共通コードからプラットフォーム固有の機能を呼び出したりする類のものです。(ただしコードビハインド限定) Forumでの紹介文によると... Introducing Platform Speci…

Xamarin.Forms.Tizenをハックして地図を表示してみる

この記事は Xamarin(その2) Advent Calendar 2016 20日目の記事です。 Xamarin.FormsにTizenが参戦!? Connect(); // 2016 のキーノートにて電撃的にXamarin.Forms.Tizenが発表され、一部界隈に衝撃を与えました。 衝撃を受ける様子 Tizen!?死んだはずで…

Xamarin入門者の集い supported by teratail に登壇してきました

2016年10月26日(水)にレバレジーズ株式会社にて開催された「Xamarin入門者の集い supported by teratail」にゲストスピーカーとして登壇してきました。 jxug.connpass.com ytabuchi.hatenablog.com 新しくXamarinを始めた人たちはXamarin.Formsから入ること…

【Xamarin.Forms】MasterDetailPageのMaster側を右寄せにするサンプル

Xamarin.FormsのMasterDetailPageのMaster部分(ドロワー?)を右寄せに改造するサンプルです。 Rendererとリフレクションを駆使して頑張ってます。AndroidとiOS(Phone)に対応。 GitHub - P3PPP/RightMasterDetailPageSample: Xamarin.FormsのMasterDetailPage…

【Xamarin.Forms】RelativeLayoutとConstraintのちょっと深い話

最近こんな質問に回答してました。 teratail.com という訳で今回は、RelativeLayoutの子要素にConstraintを再セットすることについて少し掘り下げます。 C#でRelaytiveLayoutにレアイアウト制約付きで子要素追加する際のコードはこんな感じです。 var label …

Xamarinでの開発はWindowsとMacのどちらが良いのか?

時々聞かれるのですが...... 大前提として、WindowsでVisual Studioをメインに使っていくにしてもiOSアプリのビルドにはMacが必要です。 モバイルアプリを(クロスプラットフォームで)開発しようというのに、iOSに対応しないという事は基本的に無いでしょう。…

【Xamarin.Forms 2.3.3 -pre2】XAML内でのネイティブView定義とBindingのサポート

Xamarin.Forms 2.3.3 -pre2でXAML内でネイティブプラットフォーム(iOS、Android、UWP)のコントロールを配置できるようになります。 これはXamarin.Forms 2.2で追加されたNative Embeddingという機能の発展系であると言えます。 ticktack.hatenablog.jp Nativ…

【Xamarin.Forms】XAMLでViewの縦横比を一定に保つ

teratail.com Teratailの"Xamarin Studioで幅は画面と同じ大きさ、高さが画面の幅に対して50%のViewを作りたい"(iOS)という質問に回答した時に、Aspect RatioのConstraint便利だなーと思ったのでXamarin.Formsでも同じようなことをやってみましょう。 C#でイ…

JXUGC #16 Xamarin.Forms Custom Renderer ハンズオン を開催してきました

さる2016/8/10、渋谷のdots.さん会場にて「JXUGC #16 Xamarin.Forms Custom Renderer ハンズオン」というイベントをやってきました。先生役で。 Twitterの反応を見る限り、おおむね好評だったようで何よりです。 イベントページ JXUGC #16 Xamarin.Forms Cus…

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

この記事はXamarin.Formsの標準コントロールだけでは対応しきれなくなった時、ViewRendererを駆使した独自コントロールで乗り越えるためのチュートリアルです。 目次 Xamarin.Formsコントロールの仕組み 独自のコントロールを作る Binding可能なプロパティで…

【修正版リリース済み】Xamarin.Forms 2.2.0.43を使うとiOSで死ぬっぽい

※本件の修正版(Xamarin.Forms 2.2.0.45)がリリース済みです。そちらを使えば問題ありません。 フォーラムでのアナウンスによると... Thanks for all of your reports. There was a problem with the build/packaging. The issues are now fixed. Please upda…

Realm Xamarinを試してみた

5/10にRealmのXamarin対応版が公開されたので試してみました。 Realm Xamarinを公開! - Realm is a mobile database: a replacement for SQLite & Core Data RealmはSQLiteやCoreDataから置き換わることを目標とするモバイルデータベースです。 Realm Xamar…

JXUGC #13 東京でLTしてきました

2016/5/7(土)に開催された「JXUGC #13 東京 緊急開催 Xamarin のすべて!」でLTしてきました。 イベントページ(connpass) 資料や動画 togetter Xamarin.Formsでアプリを公開した話 from P3PPP 今回のJXUGカンファレンスは参加人数がとても多く(約150人の定員…

【Xamarin.Forms 2.3プレビュー】Xamarin.Forms Themesを触ってみた

Evelve 2016で紹介されたXamarin.Forms Themesが(ようやく)NuGetに配信されました。 中身のdllを見る限り、現時点ではiOS、Androidのみ対応しているようですね。 早速試した方がいらっしゃいます! Xamarinメモ その18 Xamarin.Forms.ThemesをPrism.Unity.Fo…

Xamarin.Formsでプラットフォーム固有実装を扱う手段が増えてきたので整理してみる

Xamarin.Formsのリリースから約2年、当初よりもプラットフォームごとのカスタマイズ手段が増えてきたので、ここでちょっと整理してみようと思います。 目次 他に忘れてる物があったら教えてください。 OnPlatform (XF 1.0 ~) DependecyService (XF 1.0 ~) …

【Xamarin.Forms 2.2】Embedded Platform-Specific Controls in Xamarin.Forms

Xamarin.Forms 2.2から Layout.Children や ContentView.Content に各プラットフォームのネイティブコントロールを埋め込めるようになり、Evolve 2016のキーノートでも紹介されました。 このフィーチャーを使うとCustomRendererよりもカジュアルにネイティブ…

【Xamarin.Forms 2.3プレビュー】Xamarin.Forms Themesを試そうとしたらまだ使えなかったので代わりにMerged Dictionaryの解説する

この記事はThemesの話のようでありながら、その実Xamarin.Forms版Merged Dictionaryの話です。 Xamarin.Forms Themes はEvolve 2016のキーノートで紹介された新機能の1つ、その目標は「デフォルトで美しいUIを提供すること」です。 Live from Evolve: Faster…

【Evolve 2016】Xamarin.Forms Previewerを試してみた!

Xamarin Evolve 2016のキーノートで遂に来ました! 念願のXAMLプレビューが!Xamarin.Formsに! 呼称は Xamarin.Forms Previewer だそうです。 というわけで早速試してみた様子がこちら XAML Previewer動いたよん❤️ pic.twitter.com/Qtx9V7CKO1— Xamarin.For…

Xamarin.Forms向けのMap機能拡張ライブラリを作ってます

https://github.com/P3PPP/MapExtensions コンセプトはXamarin.Forms 2.1.0で追加されたEffectsを利用して、Mapコントロールを継承することなく機能を追加するというもの。 つまり、従来のカスタムMapにも適用可能。 NuGetにもすでに上がってます。 https://…

【Xamarin.Forms 2.2.0(プレビュー)】UWP Maps

Xamarin.Forms 2.2.0からUWPでもXamarin.Forms.Mapsがサポートされます。 (っていうか今まで無かったんだ...) ざっくりとした使い方 他のプラットフォームと同様、 Xamarin.Forms.Forms.Init() の直後に Xamarin.FormsMaps.Init() を呼ぶ必要があります。 UW…

【Xamarin.Forms 2.2.0(プレビュー)】CarouselView

Xamarin.Forms 2.2.0 から CarouselView クラスが追加されます。 CarouselView は従来の CarouselPage を置き換える物で、CarouselPageは将来的に非推奨となります。 サンプル 基本的な使い方は ListView に似ています。しかし、DataTemplateの中身を Cellで…

【Xamarin.Forms】BindableProperty.Create() non-generic版のコードスニペット

以前、BindablePropertyを楽に作るコードスニペットを公開しました。 その中で使っていたBindableProperty.Create()のgeneric版がobsolete化したので、新しくnon-generic版のスニペットを公開します。 詳細な登録手順はgeneric版の記事を合わせてご参照くだ…

【Xamarin.Forms 2.2.0(プレビュー)】Marginプロパティ

Xamarin.Forms 2.2.0 から View クラスに Margin プロパティが追加されます。 複雑なレイアウトが今までより平易に書けるようになりますね。 (ずっと来ないのでパフォーマンス的に厳しいのかと思ってまいした) サンプル public App() { MainPage = new Conte…