https://codeburst.io/working-with-json-in-net-core-3-2fd1236126c1codeburst.io ここでは予めデシリアライズ先の型を用意して,Embedded resourceに指定したJSONファイルから読み込んだデータをデシリアライズする手順を示す. System.Text.Jsonをインスト…
日本語 qiita.com 英語 mockaroo.com
docs.microsoft.com これはグルーピングしたCollectionViewのスクロールの場合. private async void FilterButton_Tapped(object sender, EventArgs e) { var choices = _viewModel.GroupedSessions.Select(g => $"{g.TrackID} : {g.TrackName}"); string ch…
ContentPage内で指定するので,Shellに限ったことではないと思う. 以下のようにすると,上部のNavbarにボタンが追加される. <ContentPage.ToolbarItems> <ToolbarItem Text="Add" Clicked="AddItem_Clicked" /> </ContentPage.ToolbarItems> 複数も可. <ContentPage.ToolbarItems> <ToolbarItem Text="Add" /> <ToolbarItem Text="Hello" /> </ContentPage.ToolbarItems> こんな感…
選択時の背景色を変更する方法はこちらの記事に書きました. shuhelohelo.hatenablog.com 背景色を変更しましたが,文字の色によっては見えにくくなることもあります. このため,選択時の背景色に合わせて文字色も変更されるようにします. 選択時の色のときは,F…
各項目が選択されたときの色(Selcted Color)を変更する方法はこちら↓ forums.xamarin.com ShellにはItemTemplateがあって,ここで指定したDataTemplateはFlyoutの各アイテムの見た目の定義になる. これを定義しなければデフォルトのスタイルが使用される. <Shell.ItemTemplate> <DataTemplate> <Grid Style="{StaticResource FloutItemStyle}"> <Grid.ColumnDefinitions> <ColumnDefinition Width="0.2*" /></columndefinition></grid.columndefinitions></grid></datatemplate></shell.itemtemplate>…
docs.microsoft.com github.com 公式のサンプルのとおり,各テンプレートは以下のとおり FlyoutHeaderのテンプレート <Shell.FlyoutHeaderTemplate> <DataTemplate> <Grid BackgroundColor="Black" HeightRequest="200"> </grid></datatemplate></shell.flyoutheadertemplate>
全部↓の公式のサンプルを見たら良かった. github.com 以下のようにShellContent毎にStyleを指定している. <FlyoutItem Route="animals" Title="Animals" FlyoutDisplayOptions="AsMultipleItems"> <Tab Title="Domestic" Route="domestic" Icon="paw.png"> </tab></flyoutitem>
Xamarin.Essentials.Launcherを使用する. コードとしてはこれでよい string text =System.Web.HttpUtility.UrlEncode( $"\n#decode20 #{sessionId}"); var canOpen = await Xamarin.Essentials.Launcher.CanOpenAsync("twitter://post"); if (canOpen) { awa…
blog.verslu.is Xamarin.Forms 4.7 pre-1以降で使えるとのことなので使ってみた. まずは現時点で最新のXamarin.Forms 4.7 pre-4をインストールする. Nugetパッケージマネージャからインストール(アップデート)をする. プレビュー版を検索候補に出す場合は,検…
xamgirl.com 公式↓ montemagno.com MonkeyCacheはウェブから取得したデータをキャッシュして,必要に応じて利用することを助けるライブラリです. データのキャッシュとは,オンライン時にWebAPIなどから取得したデータをローカルに保持しておき,オフライン時に…
Xamarin.FormsにはRefreshViewというコントロールがあって,これは画面を下に引っ張ってデータを更新するPull-To-Refreshという動作を提供するものです. とても便利でIsRefreshingというプロパティを持っていて,このtrue,falseを切り替えることでデータ更新中…
タイトルのとおり,RefreshViewで囲んだコントロールはPull-To-Refresh(下に引っ張って更新)できるようになる. Imageは試した. 画像を下に引っ張ると別の画像に変わる,といったことができる. <RefreshView Command="{Binding AvatarRefreshCommand}" IsRefreshing="{Binding IsAvatarRefreshing}"> </refreshview>
方法としてはSystem.Text.Jsonを使ってJSON文字列をデシリアライズするか,System.Net.Http.Jsonを使ってレスポンスから直接オブジェクトを取得するか,がある. System.Text.Jsonを利用するためにはNugetからインストールします. System.Net.Http.Jsonを利用す…
Xamarin.FormsでASP.NET CoreのDIの仕組みを使うことについては以下の記事に書きました. shuhelohelo.hatenablog.com これをベースとします. 今回は基本的なことに戻って,appsettings.jsonファイルに記述した値を取得する方法についてです. 以下のような内容…
Asp.Net CoreでおなじみのAddHttpClientメソッドを使ってHttpClientを安全に正しく利用することができます. HttpClientの使用上の注意と使い方については以下の公式のガイドに詳しく書いてあります. docs.microsoft.com ここで説明されているとおり,HttpClie…
NavigationPageを使ったページ遷移をやってみようと思います. 変更するところはまず,Appクラスのコンストラクタです. 以下のようにNavigationPageをはさみます. public App(MainPage mainPage) { InitializeComponent(); MainPage = new NavigationPage(main…
これまで,Xamarin.FormsでAsp.Net CoreのDIの仕組みを利用する方法を書いてきました. shuhelohelo.hatenablog.com shuhelohelo.hatenablog.com 最後にまだDIできる余地が残されています. それがApp.xaml.csのAppクラスです. 現時点でAppクラスのコンストラク…
montemagno.com こちらの記事を試してみた2回目. 1回目はこちら. shuhelohelo.hatenablog.com 今回はプラットフォーム固有の機能をDIする場合についてです. プラットフォーム固有の機能(例えば通知機能)を使う場合,共有プロジェクト側でインターフェースを用…
これは各プラットフォームごとに実装して,それをインターフェース経由で共通プロジェクトから呼び出す. 公式ドキュメント+チュートリアル. docs.microsoft.com これをやった. ソースコードはこちら. github.com 以下のように表示される. 沢山通知した場合は,…
montemagno.com こ,これは...! Xamarin.Forms以外のアプリケーションでも同様に使えそう. Microsoft.Extensions.Hostingをインストールする Nugetから. すべてのプロジェクトに. ビルトインのLoggingフレームワークと,jsonファイル形式(appsettings.json)の…
channel9.msdn.com montemagno.com github.com MVVMフレームワーク色々 MVVMパターンでのアプリケーション開発をサポートするライブラリやフレームワークは色々あります. Prism ReactiveProperty MvvmCross ReactiveUI MVVMLite MVVMHelpers 他にもあると思…
devblogs.microsoft.com ButtonやLabelを始めとする様々な見た目を指定するためにResourceDictionaryを使います.例えば以下のように. <ContentPage.Resources> <ResourceDictionary> <Style TargetType="Entry"> <Setter Property="PlaceholderColor" Value="Red" /> </Style> </ResourceDictionary> </ContentPage.Resources> これが定義されたContentPage内のすべてのEntryに…
mallibone.com Shellは先頭のShellContentがデフォルトで表示されることを利用し,ローディングページ(LoadingPage)をShellContentとして先頭に置いている. LoadingPageはLoadingPage.xaml.csで以下のように初期化処理を行っている. internal LoadingViewMode…
www.youtube.com LottieはAirBnBが開発した,アニメーションを表示するライブラリ. 表示させるアニメーションはこちらのサイトに公開されている. lottiefiles.com 動画はiOSの例なので,Androidはどうしようかと探した.この記事はAndroidの情報です.参考にした…
スプラッシュスクリーンは起動時に表示する画面. 以下のアプリを参考にする. github.com このアプリでは以下の流れでスプラッシュスクリーンを使っていた. App.xaml.csでMainPage = new SplashScreen(); SplashScreen.xamlは中央にpngを表示させるだけ コー…
docs.microsoft.com UIについてだけでなく,様々な点についてパフォーマンス向上に関するTIPSが書かれている. 子要素が1つだけなのにStackLayoutを使わない <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="DisplayImage.HomePage"> <StackLayout> <Image Source="waterfront.jpg" /> </image></stacklayout></contentpage>
https://www.xamboy.com/2019/11/19/social-media-authentication-google-login-in-xamarin-forms/ [追記] ライブラリ公式のREADMEの方がわかりやすいかも. github.com Plugin.GoogleClientをインストールする. Firebaseでプロジェクトを作成する Plugin.Goo…
docs.microsoft.com チュートリアルのとおりに. Cosmos DB側の作業 Azure PortalでCosmosDBのリソース作成とサンプルデータの追加を行う. リソースを作る 「Azure Cosmos DB」を検索して作成する. 以下のように入力する. Subscription 利用しているAzureのアカ…
docs.microsoft.com Xamarin.Forms ShellはTabページ, Master-Detailページに加えて,最近のアプリケーションでよく使われるドロワー(左からのスワイプで出てくるメニュー)といった基本的なナビゲーションを統合した仕組みです. これまでのページ遷移の方法に…