shuhelohelo’s blog

Xamarin.Forms多めです.

Xamarin.Forms

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

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

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

前回はXamarin.FormsのAndroidアプリのアイコンを変更しました. shuhelohelo.hatenablog.com しかし,アプリ名はプロジェクト名のまま(XFMyDecode2020)でした. これをプロジェクト名ではなく,任意の名前にしたいと思います. アプリ名を変更するにはどうしたら…

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

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

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

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

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>

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を切り替えることでデータ更新中…

RefreshViewはリストだけじゃなくてなんにでも使える

タイトルのとおり,RefreshViewで囲んだコントロールはPull-To-Refresh(下に引っ張って更新)できるようになる. Imageは試した. 画像を下に引っ張ると別の画像に変わる,といったことができる. <RefreshView Command="{Binding AvatarRefreshCommand}" IsRefreshing="{Binding IsAvatarRefreshing}"> </refreshview>

Xamarin.FormsでASP.NET Coreなappsettings.jsonから値を取得する

Xamarin.FormsでASP.NET CoreのDIの仕組みを使うことについては以下の記事に書きました. shuhelohelo.hatenablog.com これをベースとします. 今回は基本的なことに戻って,appsettings.jsonファイルに記述した値を取得する方法についてです. 以下のような内容…

Xamarin.FormsでASP.NET CoreなDI(Dependency Injection) (5) HttpClient

Asp.Net CoreでおなじみのAddHttpClientメソッドを使ってHttpClientを安全に正しく利用することができます. HttpClientの使用上の注意と使い方については以下の公式のガイドに詳しく書いてあります. docs.microsoft.com ここで説明されているとおり,HttpClie…

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

NavigationPageを使ったページ遷移をやってみようと思います. 変更するところはまず,Appクラスのコンストラクタです. 以下のようにNavigationPageをはさみます. public App(MainPage mainPage) { InitializeComponent(); MainPage = new NavigationPage(main…