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

作るもの シンプルに水平垂直センターにロゴが浮いているスプラッシュ画面です。 アプリ開発経験も、C#もXamarinも経験がそんなになかったので、 毎度調べちゃうからいい加減まとめておきます 環境 Mac OS High Sierra Visual Studio Community 2017 for Mac 7.6.6 Xamarin.Android 9.0.0 Xamarin.iOS 12.0.0 プロジェクトはShared Project 実装! ものの10分くらいで実装できます。いざいざ! iOS info.plistの起動画像の部分を見ると、以下のようになってます。 このLunchScreenがどこかっていうと、アプリ名.iOS/Resources/LaunchScreen.storyboardです。 ほほー、これが俗にいうストーリーボードかぁ 開いて見ると、GUIで操作できそう。
日本のボーイスカウト最大のキャンプ大会「ジャンボリー」のイベントアプリをボランティアで開発・運用した。 インストール数は大会参加者と同数の約13,000台を記録。日間アクティブユーザー数もほぼ同数だった。 AdobeとMicrosoftのサービス・技術を使用することにより効率的かつ少人数でリモートでのプロジェクトを進めることができた。 ボーイスカウトって知っていますか? 皆さんはボーイスカウトって知っていますか?ボーイスカウトは健全な青少年を育成する運動です。 ボーイスカウトと聞いてキャンプをしている人たちと思う方も多いのではないでしょうか。 これは日本最大級の青少年団体であるボーイスカウトの中でも最も大きなキャンプ大会に関する、あるプロジェクトについての記事です。 はじめに ボーイスカウト日本連盟では4年に1度、北は北海道から南は沖縄、さらには海外からスカウト(ボーイスカウトをやっている
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の更新で破壊的変更が行われています。 そのた
はじめに ある程度大きなGUIを持つソフトウェアを開発する場合、 開発を容易にするために何らかのデザインパターンに基づいて開発することが多いです。 ソフトウェアを開発する際に使用するデザインパターンとしては MVC (Model-View-Controller)やMVVM (Model-View-ViewModel)などがあります。 当然、OSやプログラミング言語固有の機能のみで、これらのデザインパターンを実現できます。 ただ、何らかのフレームワークを使用するほうがデザインパターンを楽に実現できます。 PrismはXamarinでMVVMを実現するためのフレームワークです。 MVVMについて MVVMはModel, View, ViewModelの3層で構築されます。 それぞれの項目を簡単に説明すると、 Model GUIの描画には関係ないデータの読み書き、編集、保持等を行う層 View
はじめに 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つのメソッドを指定で
はじめに Prism入門その4です。 今回はダイアログを表示します。 実行する方法はとても簡単で短いです。 しかし、MVVMとしては重要な要素が含まれています。 IPageDialogService ダイアログを表示するにはIPageDialogServiceを使用します。 ViewModelのクラスのコンストラクタの引数にIPageDialogService pageDialogServiceを指定します。 これを指定するとクラスのインスタンスが生成された時にIPageDialogServiceのインスタンスが自動的に生成されます。 ダイアログを表示するにはIPageDialogServiceのインスタンスのメソッドを実行するだけです。 クリックするとダイアログが表示されるサンプルです。 public DelegateCommand Clicked { get; private set;
はじめに 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
はじめに 最近、Xamarinを使うようになったのですが、Bindingの考え方について理解するのに時間がかかってしまったので、忘れないように書いておこうと思います。 今回使用するプロジェクトの名前はXamarinPracticeです。 内容としては、ボタンを押すと数字を1つずつカウントし、表示するものです。 コード(共有プロジェクト) <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:local="clr-namespace:XamarinPractice" x:Class="XamarinPractice.MainPag
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く