shuhelohelo’s blog

Xamarin.Forms多めです.

Xamarin.FormsでAndroidアプリのアイコンを変更する

こちらを参考にした. www.kurigohan.com アイコンのPNG画像を用意する. 用意の仕方は色々あるだろうけれど,今回はこちらのサービスで簡易なアイコンを作成した. romannurik.github.io Launcher icon generatorをクリックする. エディタが表示されるので,画像…

App Center ビルドスクリプト

前回の記事でApp Centerを使ってPushのタイミングで自動ビルド(releaseビルド)まで行いました. しかし,Syncfusionのライセンスキーをコード内に記述していないため,アプリ起動後に何も表示されずにアプリを利用できませんでした. ソースコードに直接記述すれ…

Xamarin.FormsのAndroidアプリのAPKファイルの生成

ストアに上げるにしてもテスト用にデバイスに配置(デバッグではなく)するにしても,APKに対して署名する必要があるようだ? docs.microsoft.com こちらも参考に. riptutorial.com で,テスト用のAPKを生成する際は「Ad hoc」を選ぶようだ? ちょっとやってみよう. …

dot net conf 2020 xamarin メモ

動画 www.youtube.com サンプルコード github.com Keynote : Xamarin All The Things AndroidのProfiled AOT Profiled AOTはStartup Speedが速く(AOTについで)でAPK SizeがAOTよりも小さい(Normalよりは大きい). バランスがいい. Type Startup Speed APK Siz…

App Centerを使って自動ビルド

まずはCI/CDとまではいかずに,特定のブランチにpushしたときにビルドが自動で実行されるところまでやってみる. 初めてのApp Center はじめてなので,アプリの追加から順にやっていく.以下を参考にした. www.c-sharpcorner.com ログインしよう Visual Studio A…

Xamarin.FormsでASP.NET CoreなDI(Dependency Injection) (6) Logger

前回はHttpClientを使う方法について書きました. 今回はLoggerの使い方です. 以前に書いたとおり,Microsoft.Extensions.HostingパッケージにはLoggerも含まれているので,Loggerを介したロギングの機能も使うことができます. shuhelohelo.hatenablog.com 今回…

Microsoft.Extensions.Hostingを使ってASP.NET Coreライクなしくみを使う

こちらの動画の23分ごろから. www.youtube.com Microsoft.Extensions.Hostingには以下のパッケージが含まれている. なので,これを1つインストールするとASP.NET CoreライクなDIやロギングを行うことができる. これを使ったDIについてはこちらの一連の記事を…

フォントの取得,ダウンロードについての情報(アイコンフォントも含む)

フォント配布サイト Google Fonts fonts.google.com フォントを検索,ダウンロードできる. また,サンプルテキストを入力して見た目を確認できるのもよい. また,サンプルテキストに日本語を入力すると日本語を表示できるフォントがすぐに分かるのもとても良い.…

C#でMaterialDesign,FontAwesomeを使いやすくする

以前の記事で書いたようにアイコンフォントを使用するときに,各アイコンをコード(例:/ue869)で指定するのはわかりにくいし,使いにくい. そこで,このコードを名前で呼び出せるように以下のようにクラス内のフィールドに入れておくと使いやすくなる. public st…

Xamarin.Forms: ShapeのPath

Shapesの機能を使うにはXamarin.Forms 4.7以上にします. [Xamarin.Forms] Tips and tricks working with Shapesjaviersuarezruiz.wordpress.com ツールでSVGを描いてShapeで使う www.youtube.com Method Draw 作図して,それをSVGで出力できる. editor.m…

CollectionViewのネスト

CollectionViewをネストすると,以下のような表示になる. <CollectionView ItemsSource="{Binding AnimeInfos}"> <CollectionView.ItemsLayout> <LinearItemsLayout ItemSpacing="10" Orientation="Vertical" /> </CollectionView.ItemsLayout> <CollectionView.ItemTemplate> <DataTemplate> <Grid> <Frame BackgroundColor="LightPink"> </frame></grid></datatemplate></collectionview.itemtemplate></collectionview>

コンソールアプリでASP.NET CoreのDIの仕組み(ServiceProvider)を使う(2)

当然HttpClientもDIすることができる. 前回のMicrosoft.Extensions.DependencyInjectionに加えてMicrosoft.Extensions.Httpをインストールする. using ConsoleAspNetCoreDI.Services; using Microsoft.Extensions.DependencyInjection; using Microsoft.Exte…

コンソールアプリでASP.NET CoreのDIの仕組み(ServiceProvider)を使う(1)

2020/07/11追記 かずきさんのこちらの記事がとてもわかりやすい. qiita.com AddScopedとAddTransientの違い AddSingletonはSingleton. AddTransientはGetServiceするたびにインスタンスが作られる. じゃあAddScopedはというと,スコープが異なると別のインス…

Xamarin.Formsでファイルの読み書き

Xamarin.EssentialsにFileSystemというクラスが用意されていて,それを使うことでプラットフォームごとのファイル保存先のフォルダの位置を取得したり,そのフォルダの中の指定したファイルのstreamを取得したりできる. FileSystem.OpenAppPackageFileAsyncは,…

Nugetパッケージのキャッシュをクリアする

2020.07.30追記 Visual StudioのTool > optionsからキャッシュをクリアできるとのこと. qiita.com このClear All Nuget Cachesというボタン. 本文 rksoftware.hatenablog.com docs.microsoft.com ふと気づくとローカルストレージの容量が心もとなくなってい…

Xamarin.Forms: Androidのステータスバーの色を変更する

ステータスバーの色はナビゲーションバーの色や,アプリを代表する色に揃えると見栄えがよくなる. montemagno.com こちらの記事のとおりにすればAndroidのステータスバーの色と文字の色を変更することができる. ただ,記事の中ではActivityの取得にPlugin.Curr…

Xamarin.Forms.ColorとSystem.Drawing.Color

docs.microsoft.com 変換 docs.microsoft.com System.Drawing.ColorとXamarin.Forms.Colorの間で相互に変換する場合は以下のように,変換先の型の変数に代入するだけでよい. Xamarin.Forms.Color xfColor = Xamarin.Forms.Color.FromRgb(0, 72, 255); System.…

Xamarin.FormsのCollectionViewでグルーピング表示する

docs.microsoft.com リスト表示するときに,何かしらの項目でグループ化して表示したいときがあります. 例えば,年代であったり,名字であったり,好きなゲームのジャンルであったり,動物の種類であったりといった具合です. CollectionViewにはデータをグルーピ…

Xamarin.FormsでSystem.Text.JSONでJSONファイルからデシリアライズするときのメモ

https://codeburst.io/working-with-json-in-net-core-3-2fd1236126c1codeburst.io ここでは予めデシリアライズ先の型を用意して,Embedded resourceに指定したJSONファイルから読み込んだデータをデシリアライズする手順を示す. System.Text.Jsonをインスト…

テスト,開発用ダミーデータの入手先(住所録)

日本語 qiita.com 英語 mockaroo.com

Xamarin.FormsでCollectionViewを指定したItemまでスクロールする.

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…

Xamarin.FormsのShellでNavigationBar(ToolBar?)にButtonを配置する

ContentPage内で指定するので,Shellに限ったことではないと思う. 以下のようにすると,上部のNavbarにボタンが追加される. <ContentPage.ToolbarItems> <ToolbarItem Text="Add" Clicked="AddItem_Clicked" /> </ContentPage.ToolbarItems> 複数も可. <ContentPage.ToolbarItems> <ToolbarItem Text="Add" /> <ToolbarItem Text="Hello" /> </ContentPage.ToolbarItems> こんな感…

Xamarin.Forms ShellでFlyoutで選択された項目のテキストカラーを変更する

選択時の背景色を変更する方法はこちらの記事に書きました. shuhelohelo.hatenablog.com 背景色を変更しましたが,文字の色によっては見えにくくなることもあります. このため,選択時の背景色に合わせて文字色も変更されるようにします. 選択時の色のときは,F…

Xamarin.Forms: ShellのFlyout(メニュー)の選択時の背景色を変更する

各項目が選択されたときの色(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>…

Xamarin.Forms ShellのFlyoutItem,FlyoutHeader,FlyoutMenuのスタイル(Style)のテンプレート(template)

docs.microsoft.com github.com 公式のサンプルのとおり,各テンプレートは以下のとおり FlyoutHeaderのテンプレート <Shell.FlyoutHeaderTemplate> <DataTemplate> <Grid BackgroundColor="Black" HeightRequest="200"> </grid></datatemplate></shell.flyoutheadertemplate>

Xamarin.FormsのShellでページごとにNavigationBarやTabBarの色を変える.

全部↓の公式のサンプルを見たら良かった. github.com 以下のようにShellContent毎にStyleを指定している. <FlyoutItem Route="animals" Title="Animals" FlyoutDisplayOptions="AsMultipleItems"> <Tab Title="Domestic" Route="domestic" Icon="paw.png"> </tab></flyoutitem>

Twitterアプリを起動してTweet入力画面を表示する

Xamarin.Essentials.Launcherを使用する. コードとしてはこれでよい string text =System.Web.HttpUtility.UrlEncode( $"\n#decode20 #{sessionId}"); var canOpen = await Xamarin.Essentials.Launcher.CanOpenAsync("twitter://post"); if (canOpen) { awa…

Xamarin.FormsのGridのRow/Column Definitionをインラインで書けるようになる予定

blog.verslu.is Xamarin.Forms 4.7 pre-1以降で使えるとのことなので使ってみた. まずは現時点で最新のXamarin.Forms 4.7 pre-4をインストールする. Nugetパッケージマネージャからインストール(アップデート)をする. プレビュー版を検索候補に出す場合は,検…

MonkeyCacheを使ったデータのキャッシュ Xamarin.Formsで

xamgirl.com 公式↓ montemagno.com MonkeyCacheはウェブから取得したデータをキャッシュして,必要に応じて利用することを助けるライブラリです. データのキャッシュとは,オンライン時にWebAPIなどから取得したデータをローカルに保持しておき,オフライン時に…

Xamarin.Forms : RefreshViewのぐるぐるを自然なアニメーションで消すためには

Xamarin.FormsにはRefreshViewというコントロールがあって,これは画面を下に引っ張ってデータを更新するPull-To-Refreshという動作を提供するものです. とても便利でIsRefreshingというプロパティを持っていて,このtrue,falseを切り替えることでデータ更新中…