ぴーさんログ

だいたいXamarin.Formsのブログ

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() のジェネリック版が廃止予定となります。 使っている人は今のうちに修正しておいた方が良いかも。

【Xamarin.Forms 2.1.0(プレビュー)】HasUnevenRows dynamic sizing support

ListView.HasUnevenRows = true の場合、Cellのサイズを動的に変更できるようになります。 Androidでは元々動的にサイズ変更されてましたが、今回の変更で Cell.ForceUpdateSize() を呼ぶとサイズが更新される仕様になります。 「プラットフォームによっては…

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

Xamarin.Forms 2.1.0 で ControlTemplate が追加される予定です。 Xamarin.Forms 2.1.0-pre2 Released - Xamarin Forums ControlTemplate は次のクラスで使用可能です。 ContentPage ContentView TemplatedPage TemplatedView TemplatedPage、TemplatedView …

「NGraphics」がSVGを読み込めるようになりました

以前このブログで紹介した「NGraphics」がバージョンアップしてSVGを扱えるようになってました。 Xamarinでも使えるクロスプラットフォームなベクタグラフィクスライブラリ 「NGrapchics」 - ぴーさんログ という訳で早速使い方を確認してみましょう。表示す…

【Xamarin.Forms】TypeConverterの使い方

この記事は「Xamarin Advent Calendar 2015 - Qiita」の9日目です。 TypeConverterはXAMLでプロパティの値を指定する際、文字列から実際の方への変換を手助けしてくれます。(Binding時に登場するIValueConverterとは別物) Xamarin AC 5日目の記事で紹介したX…

INotifyPropertyChangedなViewModelをReactivePropertyに移行するとどう変わるか

C#

前回の記事でサンプル用に割とオーソドックスViewModelを作ったところ、ReactivePropertyに置き換えた場合と比較したら面白そうだと思ったので書いてみます。 目次 INotifyPropertyChangedインターフェースを実装しなくなる 変更通知プロパティのコードが短…

Xamarin.FormsでAttachedProperty

AttachedProperty はMicrosoftのXAMLプラットフォームから移植された概念の一つで、MSDNの日本語版では「添付プロパティ」と訳されています。その性質は「任意のオブジェクトにプロパティを生やすことができる」というものです。 分かりやすい具体例は Grid.…

【Xamarin.Forms】XAMLからアニメーションを使えるライブラリを作りました

この記事は「Xamarin Advent Calendar 2015 - Qiita」の5日目です。 Xamarin.Formsにはコントロールを動かしたり、汎用アニメーションを作成するのための拡張メソッドが用意されています。(Xamarin.Forms.ViewExtensionsクラス内) // Labelコントロールを拡…

【Xamarin.Forms】自作ライブラリのカスタムコントロール使用時にSystem.IO.FileNotFoundExceptionが発生する場合の対処

もっと具体的に書くと、 自作ライブラリ(PCL)のコントロールを XAMLのみ で使用していて、 C#コードでそのライブラリを参照しておらず 、Page表示時に System.IO.FileNotFoundException (Could not load file or assembly 'CustomControls' or one of its de…

Xamarin.Forms for UWP Preview を試す

@ticktackmobile 今のところそうですね。一応大っぴらにしていいか聞いてみますが、Feedback ください。って言ってるのでオープンにすればいいのにと思いますがw— 田淵 義人@エクセルソフト (@ytabuchi) 2015, 10月 19 こんな会話をしていたら、公式フォー…

Xamarin.Formsでも使えるベクタグラフィクス コントロール「NControl」

NControl は NControlView というUIコントロールを提供するXamarin.Forms用ライブラリです。 NControlView は前回紹介したNGraphicsのカンバスを内蔵しており、独自の見た目を持つカスタムコントロールが簡単に作れるようになっています。(ちなみにNGraphics…

Xamarinでも使えるクロスプラットフォームなベクタグラフィクスライブラリ 「NGrapchics」

NGraphics はベクタグラフィクスを描くためのクロスプラットフォーム ライブラリです。 つまり、Windows、Android(Xamarin)、iOS(Xamarin)などに対して、統一的なAPIで Canvas に Ellipse や Rectangle や Path が描けます。 実際のコードを見てみましょう。…

【Xamarin.Forms】 BindablePropertyを作るコードスニペットを作った

※2016/4/9 追記 generic版(BindableProperty.Create<T1,T2>())がobsoleteになったのでスニペットを更新しました。 スニペット本文はこちらをご参照ください。 Xamarin.FormsでカスタムViewにバインド可能なプロパティを生やす場合、BindablePropertyを書かねばなり</t1,t2>…

Xamarinライセンスの自動更新をオフにする方法

2015年8月に行われたキャンペーンのライセンスが届き始めたらしく、クレジットカード登録に関する不安を見かけるようになりました。(ちなみにクレカ登録しなくても良いそうです) という訳で、今回はXamarinのライセンス自動更新をオフにする方法を解説します…

【Xamarin.Forms】 なんか下からにゅっと出てくるやつ

まずはこちらのGIF動画をご覧ください。 iPhone版のGoogle Mapsなんですが、下部エリア(丸の内付近と書かれている所)をタップするとサブコンテンツが下から生えてくる訳です。 こんな感じのUI(名前とかあるんでしょうか?)をXamarin.Formsで作ってみます。 .…

【Xamarin.Forms】 AbsoluteLayoutでプロポーショナルレイアウト

AbsoluteLayout を使うと画像の上にボタンやラベルといったコントロールを重ねることができます。さらに、Xamarin.FormsのAbsoluteLayoutは「LayoutFlags」と「LayoutBounds」を駆使することでとても柔軟なレイアウトが可能となっています。 自分で絶対座標…

今日も審神者当番! (ver 0.2)

「今日も審神者当番!」にミュート機能を追加しました。ゲーム本体のミュートと違ってON/OFFしても音量バランスが変わらないので便利です。 ダウンロードはこちらからどうぞ。

今日も審神者当番! (ver 0.1)

@Grabacr07先生の提督業も忙しい!を参考に刀剣乱舞専用ブラウザ(Windows用)を作ってみたので、機能は少ないですが公開します。 ダウンロードはここからどうぞ 今日も審神者当番! 画面はこんな感じです。 今出来ること 独立したウィンドウで刀剣乱舞をプレ…

Shared ProjectでカスタムコントロールのAssemblyが見つからない時の対処法

Xamarin.FormsのPCLプロジェクトからSharedプロジェクトに乗り換えたら少しハマったのでメモ。 問題 共有プロジェクトで作ったカスタムコントロールをXAMLで参照する際、xmlns:local="clr-namespace:MyApplication;assembly=MyApplication"のように名前空間…

社内向けの発表でXamarinの紹介をしました。

何か喋るよう言われたのでXamarinを紹介してきました。 想定聴衆はモバイルアプリ開発にあまり詳しくない人達でした。(iOSアプリ開発にMac必要なのを知らないくらい) デモ難しい。