shuhelohelo’s blog

Xamarin.Forms多めです.

Xamarin.Forms

CollectionViewならVisual State Managerで選択時の背景色を変えられる

docs.microsoft.com CollectionViewであればDataTemplate直下のコンテナ要素の背景色をVisual State Managerで切り替えることで,アイテム選択時の背景色を変更できる. これは素晴らしい!プラットフォームごとに実装する必要がない.とても簡単. Styleのターゲ…

Visual State Managerを使ったサンプル

https://github.com/CrossGeeks/VisualStateManagerSample 1ヶ月の日付が横方向にリスト表示されていて,日付をクリックすると文字サイズが大きくなる動作が面白い. ListViewにアイテムを追加しているのではなく,StackLayoutにアイテムを追加しているのは,ア…

Xamarin.Formsでボタンを領域の縁に重ねる

shuhelohelo.hatenablog.com 上の記事のようにXamarin.Forms v4.3とv4.4以上ではFrameやGridといった領域の中のコントロールは,その領域の外側にははみ出さないように描画される,ようだ. とはいえ,コントロールの位置をずらして縁に重ねたりするのはおしゃれ…

Xamarin.Forms v4.5.0.282-pre4のUIの挙動メモ

追記 どちらが正しい表示なのかわからなくなった. v4.4以降の挙動のほうが正しい気がしてきた. 領域からはみ出してもらったら困ることの方が多そうだし,自然だな. 領域の縁に重ねたい場合は,一つ外の領域に出して,位置を調整すればいい. shuhelohelo.hatenab…

Xamarin.FormsのBindableLayoutについて

Layoutに表示する項目(アイテム)のUIを統一したい場合に使います. Using Bindable Layouts with Xamarin.Forms Controls | Syncfusion Blogs ListViewでListItemに対してUIのテンプレートを適用して,全てのItemを同じ見た目にする,というのはよくやります. L…

Xamarin.Formsでサンプルをデバッグ実行時に「The project AppDuolingoClone.Android needs to be deployed before it can be started」と言われたときの対処

stackoverflow.com サンプルをCloneしてAndroidでデバッグ実行したときに「The project AppDuolingoClone.Android needs to be deployed before it can be started」と言われることがあります. 実機やエミュレータにデプロイすれば動作させることができますが,…

既存のXamarin.Formsプロジェクトに新規Androidプロジェクトを追加する

以下の記事のとおりにAndroidプロジェクトを追加してみた. www.c-sharpcorner.com 環境 Visual Studio 2019 16.5.4 Windows 10 1909 手順 基本的な方針は,既存のプロジェクトとは別にXamarin.Formsプロジェクトを作成(Androidを含むもの)し,そこからAndroid…

Xamarin.FormsのCollectionViewの用途について考えてみた

shuhelohelo.hatenablog.com 上の記事で書いたようにXamarin.FormsのCollectionViewはListViewよりも機能が豊富かつ柔軟な表現ができます. アイテムを一つ一つ強制的に止めるSnapの機能がありますが,これを使えば漫画アプリビューワのように1ページずつめく…

Xamarin.FormsのCollectionViewについてメモ

環境 Xamarin.Forms 4.4 preview2 遅延ローディングが簡単にできる! などなど。 こりゃすごい. https://devblogs.microsoft.com/xamarin/5-quick-tips-for-collectionview/ CollectionView, CarouselViewなどXamarin.FormsのUIコントロールの便利な機能を紹…

Xamarin.Formsでコントロールのサイズを縦横比で指定する

コントロールのサイズを縦,横それぞれにピクセルの値を指定するのではなく,縦を決めれば自動的に横が縦の2分の1のサイズになるようにしたい,と思いました.例えばです. 名刺と同じ縦横比のカード風コントロールを作成するとします. 日本の名刺の一般的なサイ…

Prismを使ったXamarin.FormsプロジェクトでSqliteを使う

SqliteはDBをファイルとして扱うので,そのdbファイルを保存する必要があるのですが,この保存先はプラットフォームごとに異なります. プラットフォームごとの処理を呼び分けたいときは,以下の記事のとおり,IPlatformInitializerクラスを使う. blog.okazuki.jp…

Xamarin.FormsでEntryコントロールのカーソル関連の色を変える方法

カスタムレンダラーから変更する方法がよくわからなかった. stackoverflow.com ↑の記事によると,カスタムレンダラに追加すれば良いとのこと. IntPtr IntPtrtextViewClass = JNIEnv.FindClass(typeof(TextView)); IntPtr mCursorDrawableResProperty = JNIEnv…

Entryの下線部の色を変える

Entryコントロールのカーソルの色を変えたいのだけれど,その途中で見つけたEntryコントロールの下線部の色を変更する方法. kotaeta.com カスタムレンダラーで変更する.Custom Renerer Android. [assembly: ExportRenderer(typeof(Entry), typeof(MyEntryRend…

これは下書きにもタグを登録するためのページです。

自作アプリのUIを改善する2

shuhelohelo.hatenablog.com 前回の続き. 今回はリスト表示のページ. 元 極めてダサい. ボタンに影をつけてハイライトカラーをつけた リストアイテムを影付きフレームにした ださいな... 飾りのハイライトカラーをつけた フォントサイズも変えた. アイコンを…

自作アプリのUIを改善する1

これは座標を指定するとそこまでの方角と距離を表示する自作アプリです. このUIを少しでも今風にしたいと思います. ダークモードのことなど考えず,白を貴重に角を若干丸くしたカード風UIを多様していけば自ずとおしゃれになるのではないかと甘く考えています…

The installed package is incompatible. Please manually uninstall and try again.

実機でバッグしたらこんなエラーが出た. The installed package is incompatible. Please manually uninstall and try again. こうやって解決するらしい. qiita.com 手動で削除する. まずはVisual Studio 2019でTools -> Android -> Android Adb command pro…

PrismでFeatureフォルダを追加してアプリケーションを構成する

mookiefumi.com 印象としては,ASP.NET CoreでいうところのArea機能に似たような感じなのかな. Prismで使いやすいようにConfigureViewModelLocatorに手を加えている. 具体的には以下のように機能ごとにフォルダを分ける方針. │ App.xaml │ App.xaml.cs │ └───…

ブランクXamarin.FormsプロジェクトにPrismを適用する

https://xamgirl.com/prism-in-xamarin-forms-step-by-step-part-1 環境 Windows 10 1909 Visual Studio 2019 16.4 Xamarin.Forms 4.4.0 Prism.Unity.Forms 7.2.0 ブランクアプリの作成 まずはブランクXamarin.Formsプロジェクトを作成します。 インストール…

意外と知られていないXamarin.Formsのプロパティ,イベントなど

https://xamgirl.com/awesome-xamarin-forms-properties-that-you-probably-didnt-know-about/ カスタムレンダラーを作るなど各プラットフォームのコードを編集することなくできる,実はこんなこともできる,という内容のTips集. ボタンに影をつける iPadのモ…

Xamarin.FormsでFrameに調整可能な影をつける方法

こちらの記事がまさにピッタリのものだった.素晴らしい.ありがとうございます. alexdunn.org 現時点ではこれがベストかな. カスタムレンダラーを使う. Frameを継承したShadowFrameクラスを作る. Elevationプロパティを追加する.バインディング可能にしておい…

Xamarin.Formsでアイコンフォントを使えるようにする

アイコンフォントとは アイコンのWebフォントです.フォントなのでテキストと同じようにサイズや色を変えることができます. (雑) 上記のサイトを参考にしてアイコンフォントをXamarin.Formsで使えるようにします. フォントの入手 以下のサイトからアイコンフ…

Xamarin.FormsでStackLayoutの背景グラデーション:メモ

qiita.com forums.xamarin.com こちらの動画の中のデモアプリケーションでもShellのドロワーっていうのかな,左から出てくるメニューの背景でグラデーションが使われている. www.youtube.com 背景にグラデーションをつけるにはカスタムレンダラーを使う必要が…

Xamarin.FormsでAndroidアプリのButtonのテキストが強制的に大文字なるのを無効にする

xamarin forms uppercase text problemridablogging.wordpress.com AndroidアプリのButtonはデフォルトでは例えTextプロパティに小文字で設定したとしても,大文字で表示されます. これを設定したとおりに表示したい場合,以下の設定が必要です. まず,And…

Xamarin.FormsでのValueConverterの使い方

www.c-sharpcorner.com docs.microsoft.com IValueConverterを継承したクラスを作り,実装する. 基本的な形は以下のとおり. public class HogehogeConverter :IValueConverter { //Source→View //ViewModelやコードビハインドからXaml側へ public object Conv…

Xamarin.FormsでEmbedded Resourceの画像を使う

Xamarin.formsで組み込みの画像を使う方法 Xamarin.Formsで使う画像は画像リソースはプラットフォームのプロジェクトごとに持たせるようになっている. しかし,同じ画像を各プロジェクトにコピーしなければならないし,その管理をする必要があるので面倒. これ…

Xamarin.Forms.GoogleMapsを使ってみる

github.com モバイルアプリに地図はとてもよくある組み合わせです. アプリに地図の機能を追加するときにXamarin.Forms.Mapsライブラリがありますが,これは必要最低限の機能しかなく,かゆいところに手が届かない感じがあります. そこでXamarin.Forms.GoogleMa…

ConsoleアプリでXamarin.EssentialsのUnitConvertersを使う

Xamarin.Essentialsには単位変換の静的クラス,メソッドがあり,これはXamarin関係なく便利です. docs.microsoft.com 単位変換のUnitConvertersクラスですが,もちろんXamarin以外のアプリケーションでも使用することができます. Consoleアプリを作成 Xamarin.E…

Google Map APIキーの取得

docs.microsoft.com Google APIsのページを開く. console.developers.google.com 新しいプロジェクトを作成する. プロジェクト名,組織名(あれば)を決めて「作成」ボタンを押す. 先程作成したプロジェクトを選択する. 左上のハンバーガーメニューから,ダッシュ…

Xamarin.FormsでMapを使うチュートリアルメモ

www.youtube.com Xamarin.Forms Essentialでは外部のMapアプリ(Google Mapなど)を呼び出している. この動画で使用しているのはアプリケーション内でMapの機能を利用する方法. こんな感じでアプリ内で地図を表示させることができる. ピンも立てられるようだ. …