放流作業

ネットの海に放流するのでいつか戻ってきてほしい

AndroidのScrollViewで一番下までスクロールできない現象

問題

コンテンツを全て表示させる目的でScrollViewを使うことは多いと思います。

しかし

のように書くと

下までスクロールできずCardViewが切れてしまいます。

なんなのか

いろいろ試してみたところ、事象としてはCardViewの上のmarginの分下が切れているように思われます。ScrollViewのスクロール長さの決定にChildのmarginは含まれていない...?

marginを0にすると問題は起こりません

解決策

LinearLayoutで中身をラップする

しっかり下のmarginまで表示されました。

 

後記

ドキュメントを見ると

A view group that allows the view hierarchy placed within it to be scrolled. Scroll view may have only one direct child placed within it. To add multiple views within the scroll view, make the direct child you add a view group, for example LinearLayout, and place additional views within that LinearLayout.

 

developer.android.com

とあるので、childが一つならラップしなくてもいいはずなんですが...

 

SampleはGitHubに上げています。

github.com