Использование стокового ListView для выполнения того, что вы хотите, было бы невозможным.
ListView отображает только несколько строк за раз, чтобы сэкономить на создании / управлении View и т. Д. это могло бы заморозить систему. В результате ListView даже не знает общей высоты самого себя - он не отображает строку, пока эта строка не станет видимой, и строки могут отличаться по высоте. Если он даже не знает свою собственную высоту, как он может иметь фон, охватывающий весь его объем?
Тем не менее, ваша идея использования ScrollView будет возможной. Однако тогда вы бы проиграли в оптимизации ListView - если бы у вас было всего несколько строк, то это не имеет большого значения; но если вы говорите о десятках строк (или более), то ваше приложение может серьезно пыхтеть. Кроме того, вы не получаете каркас ListView, который предназначен для создания более простого пользовательского интерфейса на основе строк.
Можно было бы написать свой собственный подкласс ListView (или пользовательский ListView), который может рассчитать его общую высоту (при условии, что вы знаете, что каждая строка имеет фиксированную высоту), а затем нарисовать фон соответствующим образом. Это, вероятно, то, что я сделал бы, если бы мне потребовалось , чтобы выполнить то, что вы описываете, и у меня было слишком много строк, чтобы просто удобно помещать в ScrollView.