0
2

More than 3 years have passed since last update.

画面部品の配置

Last updated at Posted at 2020-01-07

初学者ですが、個人的な勉強の為まとめました

画面部品の配置

Androidアプリの画面は、Android SDKで用意された画面部品を配置することで作成する。これが、.xmlファイルに画面部品タグを記述することである
画面部品については、大きくビューグループビューの2つがある

ビューグループ

ビューグループは、各画面の配置を決めるもので、レイアウト部品とも呼ばれる。以下は、主なレイアウト部品である
 ①<LinearLayout>・・・一番扱いやすいレイアウトで、画面部品を縦/横方向に並べて配置
 ②<TableLayout>・・・表形式で画面部品配置
 ③<GridLayout>・・・グリッド形式で画面部品を配置
 ④<FrameLayout>・・・画面部品を重ねて配置
 ⑤<RelativeLayout>・・・画面部品を相対的に配置
 ⑥<ConstraintLauout>・・・RelativeLayout同様に、画面部品を相対的に配置

 ※RelativeLayoutは、Android2.2まで、プロジェクトを作成した際に生成されるレイアウトXMLの最初に記述されていたものだが、2.3以降はより扱いやすくしたレイアウト部品としてConstraintLayoutが導入され、これが基本レイアウトとなった

ビュー

ビューは、画面部品そのもので、ウィジェットとも呼ぶ
・以下は、代表的なビュー
 ①<TextView>・・・文字列の表示
 ②<EditText>・・・テキストボックス
 ③<Button>・・・ボタン
 ④<RadioButton>・・・ラジオボタン
 ⑤<CheckBox>・・・チェックボックス
 ⑥<Spinner>・・・ドロップダウンリスト
 ⑦<ListView>・・・リスト表示
 ⑧<SeekBar>・・・スライダー
 ⑨<RatingBar>・・・☆でレート値を表現
 ⑩<Switch>・・・ON/OFFが表現できるスイッチ

タグの組み合わせ

・Android画面では、レイアウト部品とビュー部品を階層的に組み合わせて使う
・レイアウト部品は、画面部品の配置を決めるものなので、その配下に画面部品を含んで使う
 例)

activity_view_sample.xml
     <LinearLayout>
         <TextView/>
     </LinearLayout>

・レイアウト部品のような子要素を持つタグは開始タグと終了タグで囲み、ビュー部品は子要素を持たないものが多いので、終了タグを書かず、タグの右カッコの前にスラッシュを入れる、属性のみのタグが基本

よく使われる属性

①android:id

・画面部品のidの設定
・アクティビティ(Javaプログラム)内でこの部品を扱う場合にはIDを記述
@+id/・・・のように記述し、「・・・」の名前で部品にアクセスできる
 例)

activity_view_sample.xml
<TextView
       android:id="@+id/tvLabelInput"

②android:text

・画面部品が表示されるときの文字列を設定
・表示文字列は直接記述せずにstring.xmlに記述するので、string.xmlに記述された文字列と画面部品とを紐付ける方法が@string/・・・である
 例)

activity_view_sample.xml
<TextView
        android:text="@string/tv_msg"/>
string.xml
<string name="tv_msg">お名前を入力してください。</string>

③android:layout-width/height

・widthが部品の幅、heightが高さを表す
・すべての画面部品に記述する必要がある
・~dpのような数値、もしくはwrap_contentmatch_contentなどを使う
・wrap_contentは、必要なサイズに自動調整する
・match_contentは、親部品のサイズいっぱいまで拡張する

④android:margin/padding

・margin/paddingともに余白を表す
・marginは画面外側の余白、paddingは部品の内側の余白

0
2
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
0
2