Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 概要 https://developer.xamarin.com/releases/xamarin-forms/xamarin-forms-3.0/3.0.0/ 上記ページの内容をベースに簡単にまとめました FlexLayout 新たに追加されたレイアウト CSS Flexible Box Layout Module(一般にflex layout, flex-boxと呼ばれる)を基に作成 様々な画面サイズに対応することを優先したい場合に向いている UIの階層を浅く保ちやすいためパフォーマンスの良い(動作がサクサクの)画面が作りやすい 上
はじめに XamarinやPrismについて知らない人はこれらの記事を読んでください。 https://qiita.com/amay077/items/38ee79b3e3e88cf751b9 http://www.nuits.jp/entry/2016/08/11/160313 今回はPrism6.3から7.0にアップデートする方法について説明します。 VisualStudio 2017 For Mac のPrismのテンプレートは2018/05の時点でPrism6.3向けになっています。Prismの最新版は7.0です。 最新の環境に合わせるために、6.3のテンプレートから7.0にアップデートします。 手順 まずはVisualStudioからパッケージを最新にします。 そしてコンパイルすると...エラーができます。 Prismは6.3から7.0の更新で破壊的変更が行われています。 そのた
【告知】Xamarin.Formsのhttps://t.co/eC46vr1kqiを強くしたようなもの(自称)としてSharedPropertyを公開しました~ 内部的にはUtf8JsonかSpanJsonを使うようにしてます。 .NET Standard 2.0で作ってるのでアプリケーションデータを保存する際にぜひ使ってくださいm(__)mhttps://t.co/VWeI7FDhSW — Kペンギン (@penguin_sharp) July 16, 2018 作者直々の宣伝です はじめに 皆さん、アプリケーションの設定を保存する際どのようにするか迷ったことはありませんか? 自分はあります。 アプリケーションデータを保存するのって結構プラットフォーム依存なとこがあって、Xamarin.NativeではSetting.Pluginとか、Xamarin.FormsではApplication
はじめに ある程度大きなGUIを持つソフトウェアを開発する場合、 開発を容易にするために何らかのデザインパターンに基づいて開発することが多いです。 ソフトウェアを開発する際に使用するデザインパターンとしては MVC (Model-View-Controller)やMVVM (Model-View-ViewModel)などがあります。 当然、OSやプログラミング言語固有の機能のみで、これらのデザインパターンを実現できます。 ただ、何らかのフレームワークを使用するほうがデザインパターンを楽に実現できます。 PrismはXamarinでMVVMを実現するためのフレームワークです。 MVVMについて MVVMはModel, View, ViewModelの3層で構築されます。 それぞれの項目を簡単に説明すると、 Model GUIの描画には関係ないデータの読み書き、編集、保持等を行う層 View
Xamarinについていろいろ調べていると、MacなしでiOS実機デバッグができるXamarin Live Playerを発見。導入するときにいろいろ手間取ってしまったので、まとめておきます。 以前はiOSのAppStoreからXamarin Live Playerをダウンロードできていた模様です。 環境 Windows 10 バージョン1803 Visual Studio Community 2017 Version 15.7.4 iOS 11.2.6(iPhone SE) 前提 Visual Studioの拡張機能としてXamarinがインストールされていること。 iPhoneとPCが同じWi-Fi環境に接続できること(同じWi-Fi環境でないとできません。お気をつけください) PCでの操作1 1.ツール>オプションからオプション画面を開き、Xamarinタブ>その他の「Xamarin
はじめに Prism入門2回目です。 今回は画面遷移を行うためのNavigationServiceについて説明します。 Xamarin.Formsでは画面遷移にNavigation.PushAsyncを使用します。 ただ、このメソッドはContentPageクラスのメソッドであり、MVVMの層でいうとViewに存在します。 Viewは画面を描画する機能しか持たないのに画面遷移の機能をViewで行うのはおかしいです。 そこで、XamarinにはNavigationServiceという機能が存在します。 これはViewModelで画面遷移を行えるようにする機能です。 一旦、画面遷移はViewModelでやるべきか、という話は置いておきましょう。 今回はNavigationServiceについて説明します。 NavigationServiceの生成と使用 NavigationServiceはコン
はじめに Prism入門3回目です。今回はDelegateCommandについて説明します。 MVVMではViewは描画しかできません。メソッドはVMに記述される必要があります。 Viewにメソッドは基本的に書かないので、バインドでメソッドを実行できるようにする必要があります。 そこで登場するのが、ICommandインターフェースです。 例えば、ICommandインターフェースを持ったクラスのプロパティをボタンでバインドするとボタンを押した時にコマンドが実行されます。 ただ、メソッドごとにICommandインターフェースを持ったクラスを用意するのはとても面倒です。そこでDelegateCommandを使用します。 DelegateCommand DelegateCommandは初期化時にラムダ式やメソッドを引数に指定できます。 引数には実行する内容と、実行できるか、の2つのメソッドを指定で
Xamarin.iOS11.10からWeakAttributeが追加されました。 これによって以前まではちょっとめんどくさいことをしなければいけなかった循環参照回避のためのフィールドの弱参照が凄い楽に書けるようになりました。 循環参照とは? 循環参照はオブジェクト同士がお互いに参照を持っている状態のことで、Objective-CやSwiftなどの場合オブジェクトが使われなくなったあとも適切に開放されず、メモリリークが起きます。 参考: メモリー管理とパフォーマンスの最適化 | Xamarin : XLsoft エクセルソフト C#では基本循環参照によるメモリリークは起きないのですが、Xamarin.iOSでObjective-CのAPIを呼び出すことで発生する場合があります。 public partial class ViewController : UIViewController {
はじめに Prism入門その4です。 今回はダイアログを表示します。 実行する方法はとても簡単で短いです。 しかし、MVVMとしては重要な要素が含まれています。 IPageDialogService ダイアログを表示するにはIPageDialogServiceを使用します。 ViewModelのクラスのコンストラクタの引数にIPageDialogService pageDialogServiceを指定します。 これを指定するとクラスのインスタンスが生成された時にIPageDialogServiceのインスタンスが自動的に生成されます。 ダイアログを表示するにはIPageDialogServiceのインスタンスのメソッドを実行するだけです。 クリックするとダイアログが表示されるサンプルです。 public DelegateCommand Clicked { get; private set;
System.Net.WebException - App Transport Security policy requiresが出た時の対処XamarinXamarin.iOS Xamarin.iOSでHttpClinetを使った時に、System.Net.WebExceptionが発生するようになってしまった。前はhttpでもいけたと思ったんだけど、httpsじゃないとダメみたい。 stack overflowにXcode用の解決方法があった The resource could not be loaded because the App Transport Security policy requires the use of a secure connection Xamarinで試したところうまくいった Visual Studio>プロジェクトツリー>info.plist>ソース
はじめに Prism入門5回目です。 今回もVMからVに通知する方法について説明します。 前回はVMからVに通知してダイアログを表示する方法のみを話しました。 予め設定されているダイアログは表示できますが、それ以外はできません。 エラー表示だけならそれで十分ですが、実際には広告や起動時のヘルプの表示など、 好きなようにVMからVを操作できるようにする必要が出てきます。 Prismでは任意の操作をVMからVに行うために、EventAggregatorという機能があります。 EventAggregator EventAggregatorは今までと同じように、 コンストラクタにIEventAggregator eventAggregatorを記述することで使用できるようになります。 今までと異なり、ViewModelのクラスにだけでなくViewのクラスにも引数を記述します。 Viewには可能な限
はじめに Xamarinでスマートフォン向けのアプリケーションを開発しているとAndroidとiOSで異なる動作をさせたくなることがあります。当然、プリプロセッサを使用してOS毎に異なる動作をするように書くことはできます。 しかし、その方法ではOS毎に異なる設定とコンパイルが必要であり、同じ場所に複数のOS向けのコードを書くことになりコードが長くなってしまいます。 このような問題に対して、DependencyInjectionという手法を使用すると解決しやすくなります。 DependencyInjectionを用いると複数の環境(OSやセンサー、ネットワーク)等への対応や自動テストがやりやすくなります。 DependencyInjectionの方法は以下のようになります。 差し替えたい動作をMVやVとは異なるクラスに記述して、MVやVでその動作を行う時にクラスを渡すようにします。環境や条件
Taskとか分かってないマンです。とりあえずiOS,Androidで動作確認できたので記述します。 スライドショー的なのできたー #Xamarin pic.twitter.com/aMgNM4iupM — 吉田カエル@長崎 (@Frog_woman) 2018年5月28日 参考サイト Xamarin.Forms の Device クラスについて(特に Device.OnPlatform) C# で Thread.Sleep はあきまへん Taskを極めろ!async/await完全攻略 Twitterで頂いたお言葉 Xamarinに限らず、ほとんどのUIフレームワークにおいて、UI要素の更新はUIスレッド限定なので、覚えておくと良いかもしれません。 — Atsushi Nakamura (@nuits_jp) 2018年5月28日 コード using System.Threading.Ta
無料で使えるライブラリ等が見当たらなかったので色々探しましたが、 結果的にライブラリを見つけれずXamarinのサンプルを流用することで実現しました。 絶対位置でのタップ座標ではありませんが代用する形で実現しています。同じように困っている方の参考になれば幸いです。 ちなみに私が実現した機能は下記の図のようにタップしながらアイテムを選択可能なドーナツメニューのようなものでした。 下記サンプルからポイントを抜粋して記載します。 Xamarinのサンプルコード Touch-Tracking Effect Demos - Xamarin 準備 .Forms 下記のクラスを.Formsプロジェクトにコピーします。 適当にフォルダを切ってまとめて配置するのが楽ですね。 TouchActionEventArgs / TouchActionEventHandler / TouchActionEventHa
Xamarinを触り始めて、初めて詰まりに詰まったわりにあっさり解決したのでメモして置くことにします。 作りたかったもの 以下の画像のようにしたかった。 起こっていた現象 TabbedPageのタブそのものが表示されない 以下の画像のような現象が起きていた。 パラメータを与えるインスタンスを間違えていたのが原因。 詳細は以下のとおりである。正解と間違いを比較して並べておく public partial class MyTabbedPage : TabbedPage { public MyTabbedPage() { InitializeComponent(); this.Children.Add(new NavigationPage(new MyContentPage1()) { Title = "Tab1" Icon = "icon1.png" }); this.Children.Add
はじめに はじめての投稿になります。今回は、MVVMライブラリ(?)のPrismを使ってTabbedPageを実装したのでその備忘録として書こうかと思います。需要があるかはさておき、文献が少なく、あまり親切ではなかったので今後の糧くらいにはなるかと思います。 環境 Mac OS High Sierra10.13.6 Visual Studio Community 2017 for Mac Xamarin.Forms 3.1.0.637273 Prism.DryIoc.Forms 7.0.0.396 したこと Prismのプロジェクトを作成 ここは、他の文献と少し異なります。Windowsで作業したときには、templateパックみたいなものがあると思いますが、そもそもMacだとBlankかQuickStartしかありません。QuickStartの方はよくわからなかったので、とりあえずBla
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く