【Xamarin】【Android】Tabbed Layoutなアプリ

Xamarin.Androidを使ってTabbedなレイアウトのアプリケーションを作成してみたので,その方法を記録して起きたいと思います.

環境

  • Xamarin.Android
  • Android 8.0
  • Xamarin.Android.Support.Design
  • Xamarin.Android.Support.V4

必要なモジュールのインストール

今回,Tabbedなレイアウトを実装するにあたって,Android.Support.V4Android.Support.Designを使用します.そのため,Nugetを用いてこいつらをインストールする必要があります.

各ページのレイアウトを実装する

レイアウトを作成する(axml)

まず,各タブで使用するレイアウトファイルを実装します.

別にaxmlファイルを用いてグラフィカルに実装しなくても,動的にやるぞ!!!って意気込んでもらっても全然構いません.

そんな方はこのセクションを飛ばして次のセクションに進んじゃってください.

フラグメントを作成する

レイアウトを作成したら,それを各タブページと結びつけるためのFragmentというものを実装します.

まずはコードをみてみましょう

Fragmentは,Android.Support.V4.Fragmentを継承して作成します.

基本的には,OnCreateView()をオーバーライドしてあげるだけでいいと思います.この関数内では,そのタブでのレイアウトを定義します.

LayoutInflaterが引数として渡されるので,そいつを使って任意のレイアウトをInflateしましょう.

万一,そのレイアウトに例えばボタンとかがあってそいつを操作したいとか言った場合には,inflateしたviewを通じて操作するよにしましょう.

Fragmentのアダプタの作成

Fragmentを実装したら,今度はそれを割り振るためのアダプタを作成します.一瞬です.

まずはコードを見てみましょう.

どのページが選択されているのかが引数として与えられる(GetItem)ので,ページに対応したFragmentのインスタンスを返してあげるだけ.

タブ本体の実装

メインとなるレイアウトの記述

タブページを実装するにあたって,まずはメインとなるレイアウトの記述を行います.

ここでは,TabLayoutViewPagerを利用しています.

アダプタをセット

そしたら,先ほど作ったアダプタを反映させましょ.

とまぁここまで来たらあとはビルドして実行するだけですかね

サンプルを置いておくので参考までにどうぞ

https://github.com/koron0902/TabLayoutSample.git

あわせて読みたい

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です