takataka430’s blog

Xamarin.Formsを中心に勉強したことのまとめを書きます

Xamarin.Forms

【Xamarin.Forms】CheckBoxをListView内で利用して複数選択する(実装編)

前回の記事では複数選択する方法を書きました。 takataka430.hatenablog.com 今回の記事ではチェックを入れた要素を削除する機能を実装してみたいと思います。 *この記事内での「編集モード」はチェックボックスと削除ボタンが表示されている状態を意味しま…

【Xamarin.Forms】CheckBoxをListView内で利用して複数選択する方法

少し前になりますが、Xamarin.Forms 4.1.0 Pre-Release でチェックボックスが使えるようになりましたね。 devblogs.microsoft.com 実は以前からListViewの要素を複数選択したかったので、これを見た瞬間に「これ使えばできるのでは!?」と思いやり方を調べ…

【Xamarin.Forms】ViewModelからDisplayAlertを呼び出す方法

最終更新:2019年5月29日 Xamarin.Formsを使ってMVVMアーキテクチャにする場合、ViewModelからDisplayAlertを呼び出す方法がわからなくて困っていたのですが、実現する方法がありました。 環境 Visual Studio Community 2019 for Mac Xamarin.Forms (3.6.0.2…

【Xamarin.Forms】ページ遷移と同時に実行する非同期メソッドについて考えた話

Xamarin.Formsで開発する時に非同期処理を結構使うのですが、いつも悩むのが非同期処理のメソッドをページ遷移と同時に実行するにはどうすればいいのかということです。というわけで自分なりに色々考えてみました。 どんな方法がある? パターンとしては以下…

Visual Studio 2019でXamarin.Formsを使ってみました

Visual Studio 2019がそろそろリリースされますね。それに先立ちプレビュー版をダウンロードできるようなので、使ってみました。 この記事ではVisual Studio 2019でXamarin.Formsを少し使ってみて気づいたことを書いてみようと思います。 (Visual Studio 20…

【Xamarin.Forms】ViewModelでContentViewとFrameを操作してDisplayAlertの代わりにできないか試してみた

ViewModelで悩むことの一つとして「DisplayAlertを呼び出せない」というのがあると思います。色々解決方法を考えていて、「もしかしてContentViewとFrameを使えばDisplayAlertの代わりになるのでは??」と思いついたのでやってみたメモです。 (ライブラリ…

【Xamarin.Forms】QRコードの読み取りをする方法

Xamarin.FormsにはQRコードやバーコードを読み取るためのZXing.Net.Mobileというライブラリがあります。 GitHub - Redth/ZXing.Net.Mobile: Zxing Barcode Scanning Library for MonoTouch, Mono for Android, and Windows Phone 今回はこのライブラリを使用…

【Xamarin.Forms】ページ間での値の受け渡し方法を考えてみた(その2)

以前、ページ間の値の受け渡しをコードビハインドに記述してやってみるという記事を投稿しました。 takataka430.hatenablog.com 今回はMVVMっぽく、ViewModelとModelを使ってやる方法を考えてみました。 1ページ目と2ページ目それぞれのVidwModelを作り、そ…

【Xamarin.Forms】マテリアルデザインを使ってみた

数日前にXamarin.FormsでButtonやEntryなどのUIをマテリアルデザインにできる機能が追加されたようなので早速試してみました。 環境 Visual Studio Community 2017 for Mac Xamarin.Forms (3.6.0.220655) 手順 まずは空のXamarin.Formsアプリを作り、Nugetパ…

【Xamarin.Forms】ToolbarItemを有効化・無効化する方法

以前Xamarin.Formsで画面の操作をロックする方法(ナビゲーションバー含む)という記事を書きました。その記事では画面全体をContentPageで覆ってもナビゲーションバーが隠れないのでナビゲーションバーを含めた画面全体を覆う方法を考えました。しかし、よ…

【Xamarin.Forms】データバインディングとMVVMを学ぶ

今回の記事ではデータバインディングによってLabelやEntryの表示・非表示を行い、さらにMVVMっぽくするところまでをやってみたいと思います。題材として以下のような動きをするアプリを考えてみることにします。 初めはユーザーIDとパスワードを入力する入力…

【Xamarin.Forms】ページ間での値の受け渡し方法を考えてみた(コードビハインド編)

最終更新:2019年3月19日 Xamarin.Formsでページ間で値を受け渡しするいい方法がないかと色々考えてみました。今回は次のような簡単な状況を想定します。 最初のページ(MainPage)でEntryに値を入力する ↓ 次のページ(SecondPage)で、最初のページのEntry…

【Xamarin.Forms】ProgressBarを使い、繰り返し処理の進捗を表示してみた

モバイルアプリで何か処理をするために数十秒くらいの時間がかかる場合、ユーザーからするといつ終わるのか目安みたいなものが欲しいですよね?このような場合にどうすればいいのか調べていたところ、Xamarin.Formsには「ProgressBar」というものがあること…

【Xamarin.Forms】Behaviorを使って入力値検証(その2:ボタンと連動させる)

前回の記事ではEntryの文字の色を変えるところまでやりました。今回はそれに加えてボタンと連携し、条件を満たす文字列の場合にのみボタンが有効になるようにしてみます。 目標は「Entryに入力した文字列がhttps://で始まれば文字は黒、ボタンは有効化される…

【Xamarin.Forms】Behaviorを使って入力値検証(その1:文字列の色を変える)

Xamarin.FormsでEntryに文字列を入力する時に入力した値によって色を変えたり下にあるボタンを有効化・無効化するという動きを実現したいと思い、方法を調べました。今回の記事は「条件によってEntryの文字列の色を変える」というのをやってみたいと思います…

ラベルをスクロール表示する方法【Xamarin.Forms】

Xamarin.Formsでラベルに長めの文章を載せたい場合に、画面からはみ出てしまう部分をスクロールで表示したい、ということがあったのでその方法を調べたメモです。(画面はXAMLで書くことを前提とします) 結論から言いますと、このような場合はScrollViewを…

Xamarin.Formsで画面の操作をロックする方法(ナビゲーションバー含む)

最終更新:2019年3月8日 モバイルアプリでアップロードなどの処理をする時、ユーザーが操作できないように画面をロックしたいことってありますよね。今回はXamarin.Formsを用いてどのように実現するかを調べたのでまとめてみようと思います。 環境 Visual St…

AppCenterハンズオンに参加しました

12月11日(火)に「JXUG Xamarin.iOS & Android App Center ハンズオン」に参加しました。 jxug.connpass.com 今回のハンズオンではXamarinで作った翻訳アプリを、GitHubにプッシュするだけでAppCenterでのビルド、実機テストを自動で実行するというものです…

プログラミング初心者のXamarin.Forms体験記

本記事はXamarin Advent Calendar 2018の8日目です。 私はXamarin.Formsがやりたくてプログラミングを始めたのですが、色々苦労したことがありました。この記事では苦労したことと自分なりに考えてどのように対処したかを書こうと思います。 ちなみにXamarin…

Xamarinハンズオンに参加しました

11月17日(土)に以下のハンズオンに参加しました。 ハンズオン概要 内容としては、Webからスピーカーの情報を得て一覧で表示するというものです。 また、Microsoft AzureのFace APIをいうサービスを使用してそれぞれのスピーカー表情を分析するという体験も…

Xamarin.Formsを始めるときのPC選びについて

自分がプログラミングに興味を持ったのはTwitterでたまたまXamarinを見つけて「これを自分でも使ってみたい」と思ったからなんです。 しかし最初触り始めた時はPCのスペックが足りず結構苦労しました・・。 そこで今回はXamarinを触りたい人がまずどんなPCを…