4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Android Studioでビューの基礎知識を学ぶ_2

Posted at

#はじめに
授業で学んだ事のメモとして残します。
※添付している画像は全てスクリーンショットとペイントで編集しました。

#画面部品の配置を決めるビューグループ
Androidアプリの画面は、Android SDKで用意された画面部品を配置することで作成していく。これが[ .xml ]ファイルに画面部品タグを記述することになる。
この画面部品には、大きく分けて[ ビュー ]と[ ビューグループ ]の二種類がある。
ビューグループは各画面部品の配置を決めるもので、[ レイアウト部品 ]とも呼ばれる。

###主なレイアウト部品
LinearLayout
 一番扱いやすいレイアウトで、画面部品を縦、横方向に並べて配置
TableLayout
 表形式で画面部品を配置
GridLayout
 グリッド形式で画面部品を配置
FrameLayout
 画面部品を重ねて配置
RelativeLayout
 画面部品を相対的に配置
ConstraintLayout
 RelativeLayoutと同じように、画面部品を相対的に配置

#画面部品そのものであるビュー
一方、ビューは画面部品そのもので、[ ウィジェット ]とも呼ぶ。

###代表的なビュー
TextView
 文字列の表示
EditText
 テキストボックス
  ※一行や複数行、数字のみの入力制限も可能
Button
 ボタン
RadioButton
 ラジオボタン
CheckBox
 チェックボックス
Spinner
 ドロップダウンリスト
ListView
 リスト表示
SeekBar
 スライダー
RatingBar
 ☆でレート値を表現
Switch
 ON、OFFが表現できるスイッチ

#画面構成はタグの組み合わせ
Android画面ではレイアウト部品とビュー部品を階層的に組み合わせて使う。
a.png
実際のソースコードではこのようになる。

ai.png
↑わかりやすく図にすると、こうなる。

レイアウト部分は、そもそも画面部品の配置を決めるものなのでその配下に画面部品を含んで使う。この画面部品がそのままXMLのタグとなり、この階層構造のまま.xmlファイルへ記述される。

a_2.png
↑これは1セットになる

注意するべきことは、レイアウトは要素が必要なので開始タグと終了タグで囲むこと。一方、ビュー部品は子要素を持たないものが多いので属性のみのタグを基本としている。属性のみのタグの場合は、終了タグを書かずタグの右カッコの前にスラッシュを入れる。[ <~/> ]←このように記述する。
具体的にどの画面部品がどのようなタグになるかを理解し、それぞれのタグに適切な属性を記述していけば画面作成は可能になる。

#画面部品でよく使われる属性について
###android:id
画面部品のIDを設定するもの。すべての部品に記述する必要はないが、アクティビティ(Javaプログラム)内でこの画面部品を取り扱う場合にはIDを記述する。
 →[ @+id/... ]
こう記述することで、アクティビティ内で[ ... ]の部分の名前で部品にアクセスできる。
例えば
a_3.png
と記述すると、[ a_4.png ]という属性値なので、bt_clickという名前でアクセスできる。

###android:text
画面部品が表示されるときの文字列を設定する。
※表示する文字列は直接記述するのではなく、string.xmlの方に記述する。
例えば
a_5.png
と記述すると、[ @string/h_msg ]という属性値なので、string.xmlに記述したnameの文字列を表示するということになる。

###android:layout-width、height
widthが部品の幅、heightが高さを表す。
5_1.png
これは、すべての画面部品に記述する必要がある。10dpというように数値を記述してもかまわないが、よく使われるのが
[ wrap_content ]と[ match_parent ]の二つ。
wrap_contentはその部品の表示に必要なサイズに自動調整する。
match_parentは親部品のサイズいっぱいまで拡張する。

###android:layout_margin、padding
[ margin ][ padding ]ともに余白を表す。
marginは部品の外側の余白で、paddingは部品の内側の余白である。
a_6.png
↑個別に余白を指定したい場合、[ marginBottom ]といったように記述する。

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?