8
4

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 3 years have passed since last update.

【Android Studio】XML初心者がぶつかったConstraintsの壁

Posted at

こんにちは。半月くらい前に初めてAndroid StudioでXML周りを触りはじめた初心者です。
いつもはデザインのことをメインでやっていて、難しいコードのことはあまりわかっていないので温かい目で見て頂ければ幸いです。

今日は、XMLをやりはじめて私が一番つまったConstraintsのことについて覚え書き程度にまとめたいと思います。

Constraintsとは

そもそもConstraintとは、英語で「制約」を表す言葉です。
テキストビューやボタンなど、配置したもの同士の関係性を設定できるものだとイメージしてみると良いかもしれません。

具体的には
・画面の左端からこれくらい離れたところに設置したい
・このボタンとこのボタンはこれくらいの幅をあけて設置したい
みたいなのを設定できるという感じです。

Constraintsの設定の仕方

Constraintsがなにものかちょっとだけわかったところで、じゃあどうやって設定するんだというところに入ります。
スクリーンショット (18).png

上のスクショのように、〇をつかんで基準にしたいところまで引っ張ります。
このスクショではHello,Worldと書かれたTextViewの基準を、画面の一番上に設定したいので上に向かって引っ張っています。一番端までもっていくとたぶんTextViewが画面の天井まで飛んでいきますがそういう仕様なのでOKです。

スクリーンショット (19).png

左側と上側のConstraintsを設定したところです。
が、端にありすぎてこれではとっても見づらいのでもうちょっと右下におろしたいと思います。

スクリーンショット (21).png

Android Studioの画面右側に上の画像のような表示があります。
いまは左の数字も上の数字も0となっています。ここの数字が、さっき設定した基準になるところからどれくらいの幅をあけるの?という設定ができるところです。今回はとりあえず左32上24くらいで設定します。

ちなみに、画像下部のStart→StartOf parentなどで基準が今どこになっているかを確認できる(今は画面端を基準にしているのでparentと表示されています)ので、たくさんのボタンなどを設定し始めてどこが基準になっているかわからなくなったときはここを確認するといいです。
スクリーンショット (22).png

左32上24で設定しました。ちょっと右下にずれたので多少さっきよりは見やすくなったと思います。
こんな感じでConstraintsの設定は終わりです。

基本的にConstraintsは、左右と上下を各1つずつは必ず設定しなければいけません。
(画面のどこに配置するの?というのを表しているので、これがないままデバッグすると配置したものが画面のどこにあるかとか空気読んでくれないみたいです。)


スクリーンショット (23).png

補足として、今回は上と左しか設定しませんでしたが、上下両方や左右両方を設定すると設定した幅の中央に配置してくれる(上の画像参照)ので、きれいにど真ん中に配置したい!というときは両方を設定してみると良いかもしれません。

逆にそれ以外の時は上下左右すべてを設定してしまうのはあまりお勧めしません。
左からの距離と右からの距離、また上からの距離と下からの距離を二重に設定してしまうことになるので、機種によって画面サイズが変わると指定した幅がうまくいかなくなることがあります。


Constraintsを設定してしまったけれどやっぱりいらないから消したいな、というときは
・消したい矢印をクリックして選択し、deleteする
・下に載せる画像のところをクリックする
のどちらかで消せます。
Mask Group.png

最後に

つたない技術力と文章力なので伝わらないことも多いかと思いますが、ここまで読んでいただいてありがとうございました。

8
4
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
8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?