[Android]レイアウトファイルで下に配置したImageviewがButtonよりも手前に表示されない場合の対処法

題名だけでは何のこっちゃ意味不明という感じかもしれませんが、

Android Studio上のレイアウトファイル(Layout Editor)上では、ビュー(パーツ:部品)を配置するときに、「Component Tree」の下に配置すると、より手前に表示される(下に配置したビューが手前に表示されるために、上のビューを隠す)ようになっていますが、それがうまく機能しない場合の対処法という意味です。

 

例えば、こんな感じでButtonの下に配置したImageViewは、本来であれば、Buttonよりも手前に表示されるはずなのに、そうなってないやんけ~!という話の対処法です(文字ではわけわからんという方は、上の動画をご覧頂けるとまだおわかり頂けるかと思います。説明が下手ですいませんm(_ _)m)。

 

「Component Tree」上で、他のLayoutをかませて「Button」をひとつ下の階層に落としてあげれば解決するみたい

これは公式ドキュメントでの記述が見当たらなかったので、なぜこうなってるのかはよくわからないのですが、対処法だけをお伝えすると、

  • 「Button」は同じ階層にあると他のビューより強くなる(上にあっても手前に表示されてしまう)みたいなので
  • 「LinearLayout」などの他のLayoutをかませて、「Button」を手前に表示させたいビューよりも一つしたの階層に落としてあげればいい

ということのようです。

こんな感じで、「LinearLayout」をかませて「Button」を「ImageView」より一つ階層を下にしてやると、、、

 

ちゃんと「ImageView」が「Button」よりも手前に表示させることができました。

 

(詳しくは下に解説動画を載せていますので、よろしければ御覧ください)

こんな記事も読まれています

おすすめコンテンツ




Flutter(フラッター)


みんプロ作成アプリ




TOP