あと少し!Fragmentを理解してアプリを完成させよう

スマホアプリ開発ナビ

おすすめ記事

管理人/サイトについて

Androidスマホアプリ開発の基礎入門知識を紹介します!開発環境の構築、用語の説明など、わかりやすく解説しています。 お問い合わせ: ccdevnavi@outlook.jp

        

Fragmentとは?

Fragmentとは?

LINEで送る
Pocket

Fragmentを理解しよう

前項では、画面いっぱいに「Hello world!」を表示させるところまでやりました。一般的なアプリを見ると、一画面に文字や画像などが並んでいるだけのものは多くありません。例としてニュースアプリで考えてみると、まず、見出しが並んだスペースがあり、その隣に本文を表示するスペースがあります。ユーザは、見出しをタップするだけで読みたいニュースの本文が表示されます。スマートフォンを縦向きにすれば見出しスペースが画面いっぱいに表示され、タップすると本文スペースが画面いっぱいになるといったように、ユーザの環境に応じて変化します。
Fragmentとは、ここでいう「スペース」にあたるものです。このFragmentを使うことによって、ユーザに優しい画面設計ができるようになります。一つのActivityレイアウトで設計するよりも機能的で操作性に優れていることがわかります。Fragmentを使えば、メニューボタンをタップするとメニュ一覧が横からニュルっと出てくるといったことも実装できます。

Fragmentの追加

レイアウトにFragmentを追加するには、FragmentTransactionクラスのメソッドである「.add」を使用します。第一引数に追加したいレイアウトを設定し、第二引数には追加するFrangmentのインスタンスを指定します。基本的には、PlaceholderFrangentというクラスを利用するとよいでしょう。このクラスは、MainActivity.javaの下の方で定義されています。

PlaceholderFragmentの中身

PlaceholderFragmentは、Fragmentクラスを継承しているため、Fragmentとして扱うことができます。このクラスの中身は、コストラクタとonCreateViewメソットしかありません。コストラクタは空白となっています。onCreateViewは、システムからしかるべきタイミングで呼ばれるコールバックメソッドです。PlaceholderFragmentクラスのインスタンスを作成するとシステムから自動的に呼ばれてFragmentのレイアウトを戻り値として返します。

fragment_main.xml

Fragmentを使ったレイアウトは、fragment_main.xmlというファイルで定義されています。直接コードを書くこともできますが、グラフィカルレイアウトというタブから直感的な操作ができます。プロパティの値を入力していくことで余白などの見た目をカスタマイズすることができます。

スマホアプリ開発に興味のある方におすすめの記事