ぴーさんログ

だいたいXamarin.Formsのブログ

【修正版リリース済み】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人の定員…

「ごちうサーチ」のアイコンを描きました

本日公開されたMacストアアプリ「ごちうサーチ」のアイコンを描いてました。 ごちうサーチがストアで公開されました!ソースを公開してくださった @ksasao さん,アイコンを作ってくださった @ticktackmobile さんに大感謝です! https://t.co/Txk9XfLqmg pi…

【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…

Plugins for Xamarinを作ろう!

前置き Build 2016での発表から全ての開発者がVisual StudioでXamarinを利用できるようになり、アプリのみならずクロスプラットフォームなライブラリ開発も行いやすくなりました。 という訳で今回はPlugins for XamarinのテンプレートからNuGetパッケージを…

Build 2016とXamarin.Forms

Build 2016で 超!エキサイティン!! な発表がありました、なんとVisual Studioの全エディション(Community含む)にXamarinライセンスが無料で付くようになりました。 さらに、諸々のSDKがオープンソースになります。 In addition to these important steps, we…

Xamarin買収でXamarin.Formsが今後どうなるか考えてみる

結構今更なタイミングではありますがXamarin.Formsが今後どうなるかつらつらと考えてみました。 総評としては「UIデザイナが追加されたら様子見してた人達も突入してもOK」といったところでしょうか。 思いつくパターン 強化される MSの圧倒的リソースが投入…

【Xamarin.Forms】Effectsを使ったトリック 1

Xamarin.Forms 2.1.0 がリリースされたのでEffectを利用したトリックを解説します。 今回は Xamarin.Forms.Maps.Map (にアタッチしたBehavior)に地図のタップイベントを生やすというものです。 同様のことがカスタムMapクラス&カスタムRendererで実現できま…

【ソース公開】Xamarin.Forms製のAED検索アプリ、iOS版もリリースしました!

Android版に続き、Xamarin.Forms製アプリ「AEDオープンデータ検索」のiOS版をリリースしました! iOS版のコードも公開中のGitHubリポジトリに含まれていますよ! https://github.com/P3PPP/XFAedSearch 主な機能 近くにあるAEDを地図に表示します。 AED情報…

Xamarin.Forms.Mapsのバグを報告しようとしたら既にチケット上がってた

Xamarin.Forms.Maps.Mapのバグを発見しました。 AED検索アプリ作ってる途中で見つけた Xamarin.Forms.Maps のバグ、再現プロジェクト作って報告しようとしたら既に同様のチケットがあった。https://t.co/mYshXKozr4— たまにXamarin.Forms解説マン (@ticktack…

【ソース公開】Xamarin.Forms製のアプリをリリースしました (Android版)

先日、Xamarin.Forms製のAED検索アプリをGoogle Playストアにリリースしました。(iOS版は申請作業中) AEDオープンデータ検索 ついでにソースコードもGitHubで公開してます。(公開事例ですよー!) https://github.com/P3PPP/XFAedSearch 主な機能 近くにあるA…

Xamarin.Formsで諦めたこと(全画面コンテンツとNavigationBar)

iOSの「マップ」のように、コンテンツを大きく見せるため、画面をタップするとナビゲーションバー(Xamarin.Formsではこの表記)が引っ込むアプリがありますね? 例(iOSの「マップ」アプリ) NavigationPage.SetHasNavigationBar() でナビゲーションバーの有無…

【Xamarin.Forms】RelativeLayoutで中央に配置する

RelativeLayout の子要素に XConstraint , YConstraint Attached Property をセットすることでレイアウト位置を調整できます。 これはXY座標、つまり左上原点の指定となるため中央に配置するには一手間必要です。(AbsoluteLayoutの場合はいい感じに中央配置…

Xamarin.FormsでTextBlockのような事をする

テキストの一部だけ色やフォントサイズを変えたい時、WPFならTextBlockを使いますね? Xamarin.Formsでは Label.FormattedText で実現できます。 サンプル XAMLで書くとこんな感じ <Label> <Label.FormattedText> <FormattedString> <Span Text="名前:" ForegroundColor="Gray"/> <Span Text="あべなな" FontSize="Large" ForegroundColor="Maroon"/> <Span Text=" さん"/> </span></span></span></formattedstring></label.formattedtext></label>

Effectを使ってAndroidのMapViewからボタンを消す

Xamarin.Forms.Maps.Map コントロールを使用する際に現在位置表示、ズーム機能をONにしていると、Android版では地図上にボタンが表示されます。(iOSでは表示されない) iOSと揃えたい、デザインが他と馴染まないので自前で用意したいという場合は邪魔になるの…

NControlを使った汎用的なアイコンボタンのサンプル

こんな感じになるやつ 元々の線や塗りの色を変更できてアイコンに使いやすい。 ソース

NControlでもSVG

以前、NGraphicsでSVGが読み込めるようになったとお伝えしました。 それに伴い、内部でNGraphicsを使っているNControlでもSVGを読み込み&描画できるようになった訳なんですが、何も考えないで使うとちょっと悲しい事になるので解説を。 まずは特に工夫せず…

【Xamarin.Forms 2.1.0(プレビュー)】Effects

Xamarin.Forms 2.1.0 で Effects という新しい概念が追加される予定です。 (個人的な感想として、BehaiviorsやStylesの概念をCutstomRendererに持ち込んだ物がEffectsと捉えるとしっくりきます。) 「Buttonコントロールに枠線を付けたい」といった場合、従来…

【Xamarin.Forms 2.1.0(プレビュー)】DataTemplateSelector

Xamarin.Forms 2.1.0 で DataTemplateSelector が追加される予定です。 DataTemplateSelector を簡単に説明すると 「条件に応じたDataTemplateを返すDataTemplate」 です。 サンプル サンプルとして、各セルのデータ型に合わせたテンプレートを返すDataTempl…

【Xamarin.Forms 2.1.0(プレビュー)】BindableProperty.Create()

Xamarin.Forms 2.1.0で BindableProperty.Create() のジェネリック版が廃止予定となります。 使っている人は今のうちに修正しておいた方が良いかも。