#はじめに
授業で学んだ事のメモとして残します。
※添付している画像は全てスクリーンショットとペイントで編集しました。
#画面部品の配置を決めるビューグループ
Androidアプリの画面は、Android SDKで用意された画面部品を配置することで作成していく。これが[ .xml ]ファイルに画面部品タグを記述することになる。
この画面部品には、大きく分けて[ ビュー ]と[ ビューグループ ]の二種類がある。
ビューグループは各画面部品の配置を決めるもので、[ レイアウト部品 ]とも呼ばれる。
###主なレイアウト部品
LinearLayout
一番扱いやすいレイアウトで、画面部品を縦、横方向に並べて配置
TableLayout
表形式で画面部品を配置
GridLayout
グリッド形式で画面部品を配置
FrameLayout
画面部品を重ねて配置
RelativeLayout
画面部品を相対的に配置
ConstraintLayout
RelativeLayoutと同じように、画面部品を相対的に配置
#画面部品そのものであるビュー
一方、ビューは画面部品そのもので、[ ウィジェット ]とも呼ぶ。
###代表的なビュー
TextView
文字列の表示
EditText
テキストボックス
※一行や複数行、数字のみの入力制限も可能
Button
ボタン
RadioButton
ラジオボタン
CheckBox
チェックボックス
Spinner
ドロップダウンリスト
ListView
リスト表示
SeekBar
スライダー
RatingBar
☆でレート値を表現
Switch
ON、OFFが表現できるスイッチ
#画面構成はタグの組み合わせ
Android画面ではレイアウト部品とビュー部品を階層的に組み合わせて使う。
実際のソースコードではこのようになる。
レイアウト部分は、そもそも画面部品の配置を決めるものなのでその配下に画面部品を含んで使う。この画面部品がそのままXMLのタグとなり、この階層構造のまま.xmlファイルへ記述される。
注意するべきことは、レイアウトは要素が必要なので開始タグと終了タグで囲むこと。一方、ビュー部品は子要素を持たないものが多いので属性のみのタグを基本としている。属性のみのタグの場合は、終了タグを書かずタグの右カッコの前にスラッシュを入れる。[ <~/> ]←このように記述する。
具体的にどの画面部品がどのようなタグになるかを理解し、それぞれのタグに適切な属性を記述していけば画面作成は可能になる。
#画面部品でよく使われる属性について
###android:id
画面部品のIDを設定するもの。すべての部品に記述する必要はないが、アクティビティ(Javaプログラム)内でこの画面部品を取り扱う場合にはIDを記述する。
→[ @+id/... ]
こう記述することで、アクティビティ内で[ ... ]の部分の名前で部品にアクセスできる。
例えば
と記述すると、[ ]という属性値なので、bt_clickという名前でアクセスできる。
###android:text
画面部品が表示されるときの文字列を設定する。
※表示する文字列は直接記述するのではなく、string.xmlの方に記述する。
例えば
と記述すると、[ @string/h_msg ]という属性値なので、string.xmlに記述したnameの文字列を表示するということになる。
###android:layout-width、height
widthが部品の幅、heightが高さを表す。
これは、すべての画面部品に記述する必要がある。10dpというように数値を記述してもかまわないが、よく使われるのが
[ wrap_content ]と[ match_parent ]の二つ。
wrap_contentはその部品の表示に必要なサイズに自動調整する。
match_parentは親部品のサイズいっぱいまで拡張する。
###android:layout_margin、padding
[ margin ][ padding ]ともに余白を表す。
marginは部品の外側の余白で、paddingは部品の内側の余白である。
↑個別に余白を指定したい場合、[ marginBottom ]といったように記述する。