アプリ開発日記 #4 Xamarin.Formsで最初に表示するページ

今日の目標

起動時に下の画面が最初に表示されるようににする。

f:id:b-kimagure:20190609223250j:plain:w170
起動時に表示させたい画面

最初に表示する画面のレイアウトを整える

実際にやったこと

  • 最初に表示するページの変更

作成したプロジェクトに何もコードを追加せずに実行した場合に、作成したプロジェクトのMainPageが表示されます。

f:id:b-kimagure:20190610201816p:plain:w170
プロジェクトのビルドで最初に表示されていた画面

そのため、とりあえず"MainPage"でソリューションを検索しました。

その結果、App.xamlでMainPageをnewしている箇所がありましたので、MainPageをnewしている箇所を変更しました。

f:id:b-kimagure:20190610202429j:plain
修正した箇所

これにより、最初に表示する画面を当初目的の画面に変更できました。

なお、"MainPage = new MainPage()"の前方のMainPageはXamarinのプロジェクトを作成した際に、自動的に作成されるプロパティです。
そのため、new以下を最初に起動したい画面のクラス名にするだけで問題ありません。

  • ボタンの角を丸くする

ボタンの属性に"CornerRadius"があるため、"CornerRadius"を設定することでボタンの角を丸くすることができました。

f:id:b-kimagure:20190610210042p:plain:w170
Before
f:id:b-kimagure:20190610210045p:plain:w170
After

困ったことと解決方法

困ったこと

機能作成した画面のName属性が重複していたため、ビルドエラーが発生していた。
また、ビルド後に表示されるエラー一覧からダブルクリックで該当箇所に富んだ場合、自動生成されたソースに富んでしまう。

解決策

xamlのほうの該当箇所を修正した。
自動生成されたソースの修正は、後々おかしなことになる可能性があるので、自動生成されたソースで重複していた項目が記載されているxamlファイルを探し、Nameが重複している項目のうちの片方を変更し、名称の重複を避けるようにした。

明日への思い

明日は、C#でリスト項目を作成し、画面へリストを表示させられるようにしたい。

雑記

こんだけ書いているとすごい進んでるように見えるけど、実際は2行くらいしかソースコードの修正をしていないんだよな。。。

Xamarinでアプリを作ろう

基礎から学ぶ Xamarinプログラミング

基礎から学ぶ Xamarinプログラミング

Xamarinネイティブによるモバイルアプリ開発 C#によるAndroid/iOS UI制御の基礎

Xamarinネイティブによるモバイルアプリ開発 C#によるAndroid/iOS UI制御の基礎