Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

Xamarin.Forms は、Xamarin に新たに搭載されたクロスプラットフォームUIフレームワーク&MVVMフレームワークです。 ReactiveProperty は、MVVMの(特に ViewModelの)実装を強力にサポートしてくれる、Reactive Extensions を基盤としたライブラリです。 両者を組み合わせると、Android/iOSアプリが COOL な感じで書けるんじゃないか、という事で試してみました。 0. 環境など Mac + Xamarin Studio を使いますが、Windows + Visual Studio + Xamarin-Addin でもイケると思います。 1. 導入 プロジェクトの作成 新規ソリューションを、[C#]−[Mobile Apps]−[Blank App(Xamarin.Forms Portable)]で作成します。 PCL
Xamarin.Forms でどうにかしたい iOS と Android の違い の「文字の自動縮小」の自己回答。 Xamarin.Forms で定義した Label は、iOS では UILabel となるはずなので、その過程のどこかでフックできれば UILabel.AdjustsFontSizeToFitWidth が仕込める、と目論んで、ホントにできたのでメモ。 要点 Forms→ネイティブのフックは PageRenderer でできる。その中で得られる UIView(のサブクラス)は、Label と UILabel の両方の参照を持っているので、あとは使うだけ。 ページでなく、UIパーツレベルでフックできたので、全面的に書き換えた。 やってみる 参考にしたのは https://github.com/xamarin/xamarin-forms-samples/tree/master/
こんにちは。Xamarin.Forms の ListView について調べました。私のような非プログラマでも UI が書けるのは嬉しいですね。 Xamarin.Forms でどんなことが出来るのか?は サンプルアプリの Forms Gallery を見ていただくのがよいかと思います。 今回は Xamarin のサイトに上がっている Xamarin.Forms.ListView Class API リファレンス のサンプルを見ながら最低限の実装に絞った ListView を折角なのでアップします。 Page 作って layout 決めて Children に流しこむのが多分基本の流れな感じがします。 サンプルにある ItemTemplate は Define template for displaying each item. (Argument of DataTemplate constr
Xamarin.Forms では、NavigationPage(new Firstpage()) でページを呼び出すと、Navigation.PushAsync(new SecondPage()) でナビゲーションすることができます。PrepareForSegue や StartActivity は当たり前ですが使いません。 データの受け渡しについて正しい方法かは分かりませんが、引数でデータを渡せましたので、メモとして残します。簡単なアプリであれば単純に渡す方法として大丈夫そうです。 var editorName = new Entry { Keyboard = Keyboard.Text, Placeholder = "Input your name.", }; var editorAge = new Entry { Keyboard = Keyboard.Numeric, Placeh
Xamarin.Forms のタブページについて調べましたので備忘録として残します。 タブページの実装方法は Xamarin のサンプル Form Gallery の TabbedPageDemoPage のように ItemSource, ItemTemplate を使用する方法と、 以下のサンプルのように TabbedPage を new して、Children にそれぞれのページを指定する方法があるようです。 iOS プロジェクトの Resources/xxx.png を配置し、各ページの Icon Property にファイル名を指定すると iOS のタブのアイコンになります。png のサイズは良く分かっていませんが、30px だとちょうどいい感じでした。(iOS は 40px が普通ですかね?) なお、この画像リソースは同じファイルを Android プロジェクトの Resourc
この記事は Xamarin Advent Calendar 2014 、兼 XAML Advent Calendar 2014 の9日目です。 この記事では Xamarin.Forms の時期バージョン(ver.1.3.0)で追加される機能の中から、 Styles、TriggersについてXAMLとC#のサンプル付きでご紹介します。また、アプリケーションのエントリ部分が変更されるので、その修正方法も併せてご紹介します。 ver.1.3.0で追加される機能 Xamarin.Forms.Application Dynamic Resource Styles Triggers Behaviors etc... WPFなどで既に存在する機能の追加が多く、使い方も基本的に同じようです。 XAML Advent Calendar から来た方へ Xamarin ご存知でしょうか?よく知らない方のために軽
この記事はXamarin Advent Calendar 2014の12/14の記事です みなさん Xamarin.Forms使ってますか? Xamarin.Forms色々便利なんですが 時々気が効かないところがあったり、この機能が足りてないとかします。 そんな時にはXamarin.Forms.Labsを見てみたら これって機能があったりするかもです(後は少し弄れば使えそうな物があったりと) せっかくのアドベントカレンダーなので 色んな機能のうち幾つか紹介していこうと思います。 追加コントロール Calendar Control カレンダー! 見たままです!カレンダーです。 FormsにはDatePickerがありますが、あれはリールで日付を選ぶ形で 誕生部選ぶにはいいかもしれませんが、予定等で日付を選ぶには不向きです これだと、jQueryUIのカレンダーのような使い勝手で選べます なん
基本的なMVVMとデータバインディングのサンプルはこちら 概要 XamarinのページのPart 5. From Data Bindings to MVVMのInteractive MVVMの章のRGB版です。 前の章に関しては一番上のリンクからどうぞ R,G,Bのスライダーを操作するとLabelの色が変わるサンプルを作ります。 インタラクティブ(相互作用)というタイトルの通り、バインドの方向を双方向にします。 ViewModel Viewモデルには、ラベルの色Colorインスタンスのプロパティと、double型のRed,Green,Blueプロパティを持つことにします。 プロパティの変更をViewに伝えるためにINotifyPropertyChangedインターフェイスを実装します。 namespace XamarinSample2 { class RGBViewModel : INot
#概要 iOSでは当記事のとおり実装することで、アプリがバックグラウンドに移った場合でもいろいろと処理させることができます。 今回はバックグラウンドに移っても、処理が停止せず、一定タイミングでイベントを発生させる方法を書きます。 2016/9/25 追記 タイトルに「Xamarin.Forms.iOS」と書いていましたが、 誤解を招く記載であったため修正しました。 また、末尾のコメントにてshagaさんに教えていただきましたとおり、 位置情報を使わずともバックグラウンド処理は可能であるため、 純粋にバックグラウンドの処理を知りたい方は、コメント欄をご確認ください。 調べ方が良くなかったですね。反省・・・。 #バックグラウンド処理の実装準備 Xamarin.Formsでバックグラウンド処理を実装するにあたり、iOSの「位置情報サービス」の設定が必要となります。 そもそもiOSのバックグラウン
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? こんにちは。エクセルソフトの田淵です。 Xamarin のインストール、初期設定は今まで Windows アプリを開発していた方にとって結構敷居が高く、Xamarin 標準の統合インストーラーで全部インストールしてくれはするのですが、個人的にあまり好みじゃない感じに色んなツールがインストールされてしまいます。 特に Android 開発には色々なツールが必要になる点と、頻繁にアップデートが発生する点からなるべく触りやすいところに配置した方が後々困りません。そういうインストールガイドを書いておいた方が良いかと思い、エントリーを残しておきま
Android SDK Build Tools 24が入っているとXamarin(Windows環境)でAndroidがビルドできない件Xamarin はじめに Windows(Visual Studio Community 2015)で、Xamarinの開発環境を構築しようとして困ったので、 対処方法をメモしておきます。 発生する現象 下記エラーが表示され、Androidプロジェクトがビルドできない。 - "aapt.exe" はコード -1073741819 を伴って終了しました。 - ファイル "obj\Debug\android\bin\packaged_resources" は存在しません。 原因 Xamarin.Androidが、2016/06/20時点でAndroid SDK Build-toolsのVersion 24に対応していない。 対処方法 下記の二通りがあります。
背景 Xamarinをインストールしたら、ストレージの残り容量が12〜13GB減った AppCleanerでXamarinを削除したけど、残り容量が3〜4GBしか増えなかった 他にもまだまだ消せるファイルがあるのでは 結論 AppCleanerでは消してくれないファイルがたくさんある 不要ファイルはfindコマンドで探して、手動で消すと良いのでは AppCleanerでは消してくれないファイルを探す 参考記事: Mac で Xamarin 環境をクリーンに再インストールするには ※「Xamarinといえばエクセルソフト田淵さん」の記事が見つかった。 これも参考にしつつ、いっそfindコマンドでストレージ全体を検索。 結果的に手動で消したやつ findコマンドで探して、以下のものをfinderから手動で削除。 ~/Library/Xamarin ~/Library/XamarinStudio
「重たい処理を非同期で実行して、結果をメインスレッドで画面に表示」を、 Android-Java iOS-Swift Xamarin(Android も iOS も同じ) で比較。 Android @Override public void onClick(View view) { new AsyncTask<Void, Void, Long>() { @Override protected Long doInBackground(Void[] p) { // ワーカースレッド long ret = 0; for (long i = 0; i < 1000000000; i++) ret += i; return ret; } @Override protected void onPostExecute(Long result) { // UIスレッド text1.setText(Stri
MasterDetailPage で表示される Master の幅はサイズが固定になっています。 これを UI 側から変更できるような仕組みが欲しいと思い、MasterDetailPage の拡張クラスを作成しました。 完成イメージはこちら MasterDetail クラスを拡張 標準で幅を変更するためのプロパティが提供されていないため、MasterDetailPage クラスを継承し、プロパティを追加します。 public static readonly BindableProperty MasterFractionProperty = BindableProperty.Create( propertyName: nameof(MasterFraction), returnType: typeof(double), declaringType: typeof(VariableMaster
Xamarin.Forms で使える地図ライブラリは、公式が出している Xamarin.Forms.Maps - Maps models and renderers for Xamarin.Forms があるのですが、非常に機能が少ないです(ピンがおけるだけで、図形の描画すらできません)。 なので、別な選択肢としての「Xamarin.Forms向け地図ライブラリ」を開発し始めました。 それがこちら Xamarin.Forms.GoogleMaps - Yet another Maps library for Xamarin.Forms that optimized for Google maps. です。 iOS では MapKit に代わり Google Maps SDK for iOS を使用し、 Android/iOS 共に Google Maps に特化することで、API の共通化
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く