読者です 読者をやめる 読者になる 読者になる

しっぽを追いかけて

ぐるぐるしながら考えています

Unity と猫の話題が中心   掲載内容は個人の私見であり、所属組織の見解ではありません

Xamarin × ResourceDictionary でプラットフォームごとに配色を変えたい

インフルエンザにかかってしまいまだ体調が本調子ではないですが、タイトルの通り DI コンテナではなく今度は ResourceDictionary で配色を切り替えてみたいと思います

Unity のプロパティ注入だけでプラットフォームごとに Xamarin アプリの配色を切り替える

Xamarin でプラットフォームごとに配色を切り替える場合、一般には下記のような XAML を記述すると思います <OnPlatform x:Key="SecondHandColor" x:TypeArguments="Color" iOS="Red" Android="Aqua" WinPhone="#80FF80" /> ただ、こうしてしまうと共通コードに各プラットフォームごとの分岐処理を記述するのと同様なので、後で特定のプラットフォームだけの修正をしよう</onplatform>…

Xamarin.iOS の Anchor プロパティが正しく解釈されない件

すでにわんくまとか Qiita で公開しちゃってるのでバレバレですが、Xamarin の BoxView のアナログ時計サンプル を XAML × MVVM に移植しようとしてハマったのが、Xamarin.iOS だけ AnchorX や AnchorY が正しく解釈されない問題です;

Xamarin で ItemsControl 風 AbsoluteLayout

Xamarin には ViewModel のリストを UI に表示するコントロールは ListView と TableView しか用意されてません 本家 XAML では Canvas 内に ItemsControl を配置して ViewModel の内容に応じて任意の絶対座標に UI を表示するといったことが簡単にできるの…

Xamarin で Prism EventAggregator を使って Suspending 時の処理をする

前回の投稿 でとりあえず各プラットフォームでのバックグラウンド遷移の通知の仕方がわかったので、Xamarin.Forms の画面側に Suspending が通知されるようにしたいと思います 普通に App クラスにイベントハンドラを追加してもよいですが、せっかくなのでイ…

Xamarin で Prism の Suspending っぽいイベントを検知したい

スマホアプリの場合、PC よりも少ないリソースで動作するためアプリの状態遷移を考慮した設計が欠かせません 特にリソース不足で OS から強制的に終了する場合に備えてアプリの状態やデータを保存しておき、再起動された際に復帰させるという対応は重要だと…

Xamarin で Prism 風に戻る遷移の際も遷移パラメータを参照できるようにする

Xamarin の画面遷移でも Prism のようにセッション情報を保持するようにしようかとも思ったんですが、どうやらそんなことをしてもメリットがなさそうなのでやめました; iOS も Windows Phone 8.0 もプラットフォームとしては画面遷移時に View もデータも丸…

Xamarin.Forms で Prism 風のパラメータつき画面遷移をつくる

Xamarin.Forms の画面遷移は NavigationPage による構築が基本らしく、NavigationPage.SetHasNavigationBar のメソッドでナビバーの表示有無を制御できるようです なので、NavigationPage を利用して Xamarin で Prism 風のパラメータつき画面遷移を行う実装…

Xamarin.Forms の画面遷移は NavigationPage 必須?!

とりあえず MVVM 基盤が整ってきたので次は画面遷移を何とかしたい できる限り Xamarin.Forms でがんばりたいので、Xamarin.Forms の Navigation について調べてみると VisualElement.Navigation というプロパティが用意されていました Push や Pop などのメ…

Xamarin で Prism と UnityContainer を使ってみる

少し前の投稿 で DI コンテナ *1 である Unity のプレリリース版が Xamarin 対応していることをご紹介しました(ゲーム開発の方じゃないです;) Prism との相性もよいので今度はこの Unity を Xamarin で使ってみようと思います *1:Dependecy Injection Con…

Xamarin.iOS で ViewModelLocator を使ってみる

前回 作成した Xamarin.Forms 用 ViewModelLocator をさっそく使ってみます

Xamarin.iOS で画面の回転を検知する

すでに GitHub にアップしているソースには含まれているのですが、Xamarin.iOS で画面の回転を検知する方法を紹介します moonmile さんがすでに XamarinでAndroid/iOS/Windowsストアの回転に対応する | Moonmile Solutions Blog の記事の中でこの手の実装方…

わんくま勉強会の発表資料

参加された方、おつかれさまでした! 下記に利用した発表資料はアップしていますのでご参考ください! かけ算で使いこなす Xamarin from Tatsuji Kuroyanagi

Xamarin 版 SimpleTimer のソースをアップ

明日の勉強会でも利用する予定の Xamarin 版 SimpleTimer のソースを下記にアップしました matatabi-ux/XamarinTimer matatabi-ux/XamarinTimer · GitHub ライブタイルまでは考えられなかった・・・いつかは各プラットフォームでどうするか考えてみたいですね

Xamarin で Command ・・・微妙;

Xamarin 版 SimpleTimer も完成間近 タイマー開始・一時停止・停止の処理を ViewModel の Command で追加してみました

Xamarin.iOS で ViewModel の変更を検知する

前回の投稿 ではスワイプ操作によって ViewRenderer → Xamarin.Forms → ViewModel という方向にデータ変更を伝搬させましたが、逆の場合、いわゆるデータバインディングの変更通知の場合に対応することを考えてみます Xamarin には残念ながら iOS の Storybo…

Xamarin.iOS でスワイプ操作を検知する

とりあえず円弧による残り時間の表示まで追加してみました こうなるとスワイプによる操作も実装したくなるもの・・・iOS ではどうするのか?

Xamarin.iOS で UIBarButtonItem の Click イベントが検知できない件

前回の投稿 で iOS 用の BottomBar にボタンを追加できたので、Click イベントを拾ってみます UIToolBar のボタン、UIBarButtonItem の Click イベントはセレクター指定や GestureRecognizer を利用する方法などいろんな方法で設定できるようですが、今回は…

Xamarin で iOS の UIToolBar にボタンを配置する

前回の投稿 で iOS / Windows Phone 共通の BottomBar を作ったので今度はこの BottomBar にボタンを配置してみます Windows Phone の場合は今まで通りなので特に難しくありません [assembly: ExportRenderer(typeof(BottomBar), typeof(BottomBarRender))] …

Xamarin で iOS と Windows Phone 8 用 BottomBar を作る

Windows ランタイムアプリにおける BottomAppBar くらいなら Xamarin.Forms に用意されているのではと探してみましたが、やはりない! Android はライセンスを持ってないのでできませんが、Xamarin で iOS と Windows Phone 8.0 で BottomBar というカスタム…

Xamarin.Forms の View にバインド可能プロパティを追加する

少し前に Xamarin.Forms でもユーザーコントロール的な View が作成できることがわかったので、今度はこうしたカスタム View に BindableProperty を追加してみようと思います 本家 XAML の依存関係プロパティのようなものみたいですね まずは ContentView …

Xamarin.Forms の画面で iOS アプリだけステータスバーの余白を確保するには

Xamarin.Forms の XAML で次のような ContentPage を記述したら・・・

Xamarin iOS で円弧を描く

なんとか Xamarin iOS のアプリ起動に成功したので、今度は円弧を描画してみます 円弧ぐらいなら Xamarin.Forms で描画できるのでは・・・と調べてみたらこれがない! こういった場合各プラットフォーム固有の API を使うしかないようです