目次
- ページ1
- この講座について
- イントロダクション
- 前提知識
- この講座で学べること
- 概要
- 完全無料で通えるプログラミングスクール
- ページ2
- アプリの概観
- ConstraintLayout
- 位置制約
- ページ3
- タスク:プロジェクトを作成する
- ページ4
- タスク:レイアウトエディターでConstraintLayoutを組み立てる
- ページ5
- タスク:TextViewをスタイリングする
- ページ6
- タスク:二つ目のテキストビューを追加し制約をつける
- ページ7
- タスク:テキストビューのチェーンを作る
- ページ8
- タスク:テキストビューにクリックハンドラーを追加する
- ページ9
- タスク:ベースライン制約を追加する
- ページ10
- タスク:ボタンのチェーンを追加する
- ページ11
- タスク:ボタンにクリックハンドラーを追加する
- 完成済みプロジェクト
- ページ12
- まとめ
- おすすめ書籍
まとめ
- ConstraintLayoutはレイアウトの子ビューの位置やサイズを柔軟に変更できるようにするビューグループです。
- ConstraintLayout内では、それぞれのビューの位置は最低でも一つの水平制約と垂直制約を使って定義されています。
- 制約はビューを別のUI要素や親レイアウト、または非表示のガイドラインに揃えたり繋げたりします。
ConstraintLayoutを使う利点:
- レイアウトを違うサイズの画面や解像度に対応させることができます。
- たいていの場合、ConstraintLayoutはLinearLayoutよりもビューヒエラルキーが複雑になりません。(階層がフラットな状態になる)
- Android Studioのデザインエディターとビューインスペクターによって簡単に制約を追加したり設定したりできます。
チェーン:
- チェーンはお互いに双方向の制約によってつながったビューのグループです。
- チェーン内のビューは垂直にも水平にも配置できます。
Design-time属性:
- Design-time属性はレイアウトをデザインする際にのみ使用される属性です。アプリを動作させた際には適用されません。
- Design-time属性はtools名前空間という接頭辞を持っています。例えば、tools:layout_editor_absoluteYとtools:text属性はdesign-time属性です。
ベースライン制約:
- ベースライン制約はビューのテキストのベースラインを他のビューのテキストのベースラインに揃えます。
- ベースライン制約はそれぞれのビューが異なるフォントサイズであるときに便利です。
次の講座は 2.4 データバインディングの基礎です。お疲れさまでした。
おすすめ書籍
Kotlinの文法をまず学びたい!という方には以下の書籍がおすすめです。Kotlinは日本語書籍がまだ豊富とは言えない状況ですが、細かく解説されており、Kotlin入門者のかたでもつまずくことなく学習できると思います。
実際にアプリを作りながら覚えていきたい!という方には以下もお勧めです。はじめに上の書籍で文法をさらっと学んでから取り組むのがお勧めです。
コメント
2-03-11
https://codelabsjp.net/kotlin-android-training-02-3/11/
“`
R.id.red_button -> box_three_text.setBackgroundResource(R.color.my_red)
“`
で、
“`
Unresolved reference: box_three_text
“`
とエラーがでます。
どうすればいよいでしょうか。
shiina様
お返事が遅くなってしまい、申し訳ありません。
https://codelabsjp.net/kotlin-android-training-02-3/7/
で「ステップ1:三つのテキストビューを追加し、垂直チェーンを作る」
のテキストビューに属性を追加する部分が正確に行えていますでしょうか?
おそらくID属性のbox_three_textが間違って入力されているかと思います。