Хорошо, я сделал это.
Все, что мне нужно было сделать, это установить LinearLayout внутри ScrollView на
layout_width="wrap_content"
layout_gravity="center_horizontal"
android:orientation="vertical"
ScrollView для
layout_width="fill_parent"
layout_gravity="center_horizontal"
layout_height="wrap_content"
И в конце я поместил этот ScrollView в новый LinearLayout со следующими параметрами:
layout_width="fill_parent"
layout_height="fill_parent"
gravity="center_vertical"
orientation="vertical"
Таким образом, ScrollView и его дочерний макет устанавливают кнопки в центре по горизонтали, а внешний LinearLayout устанавливает их по центру по вертикали. : -)