shuhelohelo’s blog

Xamarin.Forms多めです.

Xamarin.Forms

Xamarin.FormsのShellの項目の見た目を変更する

Shellを使うと最近のモバイルアプリケーションでよく使われている,ドロワーメニューというのでしょうか,画面端からにゅっと出てくるメニューを簡単に用意できます. Xamarin.FormsではこれをFlyoutと呼びますが,これについて詳しくは以下の公式ドキュメントを…

LiveSharpを使ってコードの変更をアプリ再起動なしで即座に反映する

20200717追記 UIをすべてC#で書ける機能C#マークアップ拡張においては非常に有用なツールと思う. devblogs.microsoft.com もともとの本文 Xamarin.Forms(だけに限りませんが)は現時点でホットリロードが可能になっていて,Xamlの変更であればデバッグ中の変更…

App Center経由のデプロイでバージョン番号やバージョン名を変更する

これまでにde:code2020用アプリMy de:code 2020を作成し,App Centerを利用してビルド→ストア公開までを自動で行えるようにした. また,アプリのアイコンやアプリ名などの変更方法にも触れてきた. しかしもう一つ問題があった. バージョンが1.0のままだ. スト…

Xamarin.Forms : Androidのアプリ名を変えたい

以前に,アプリのアイコン下に表示される名称を変更しました. shuhelohelo.hatenablog.com しかし,インストールしたアプリの情報を表示させると,表示されるのはプロジェクト名です. ここに表示される文字列はどこで変更できるのか. AndroidManifest.xmlに記載…

App Centerを通じてXamarin.Formsで作ったAndroidアプリをストアに公開する

docs.microsoft.com Googleデベロッパー登録する 外部ツールからのAPIアクセスを許可する App CenterからGoogle Play Storeにアプリを公開するために,Googl Play StoreのAPIを外部ツールが利用できるようにする必要があります. まずはGoogle Play Consoleに…

Visual Studio拡張機能(VSIX)をVisual Studio Marketplaceに公開する

前回,Generic Hostを使ったXamarin.FormsプロジェクトのテンプレートをVisual Studio拡張機能として作りました. shuhelohelo.hatenablog.com 今回は,これをVisual Studio Marketplaceに公開したいと思います. docs.microsoft.com Visual Studio Marketplace…

VSIXプロジェクトテンプレートを作る

以前にASP.NET Core(Generic Host)のDIの仕組みをXamarin.Formsで利用する手順を書きました. shuhelohelo.hatenablog.com しかし,毎回この手順を行うのは苦痛なので,プロジェクトのテンプレートを作成したいと思います. Xamarin.Formsは通常,複数プロジェク…

App CenterのAnalyticsを使う.

App center analyticsを使い倒そう from Atsushi Nakamura www.slideshare.net www.youtube.com アプリケーションの利用状況やクラッシュ App Center SDKの導入 App Centerの各アプリケーションのトップに表示されるGetting Startedにもあるように以下の2ス…

Xamarin.Forms : アプリのターゲットをAndroid10にする

devblogs.microsoft.com Android 10への対応を行わなければならないということ.そうだったのか... developer.android.com 2020/8/3以降 : 新規アプリはAndroid 10(API 29)以上を対象とする必要がある. 2020/11/2以降 : すべてのアプリのアップデートはAndroi…

Google Play StoreにAndroidアプリを公開する メモ

このへんはこちらの記事がとても参考になりました. kuneoresearch.com 「Google PlayにAndroidアプリを公開」を押します. 「アプリの作成」というダイアログが表示されるのでアプリ名などを入力していきます. アプリの説明などを入力します. アプリのスクリーン…

Xamarin.FormsのAndroidアプリのアプリ名を変更する

20200714追記 「アプリ名を変更する」と書きましたが,この記事で変更するのはAndroidのホーム画面に表示されるアイコンのラベルでした. この記事のとおりに作業してもアプリ名は変更されません. アプリ名の変更は以下の記事を参考にしてください. shuhelohelo.…

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

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

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についてはこちらの一連の記事を…

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>

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

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

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をインスト…

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>