Om du kör med fast höjd och/eller marginaler kommer du nog få problem förr eller senare med att köra appen i olika upplösningar. Du kan givetvis använda Scrollview ifall du vill, men om jag förstår din fråga rätt vill du ha allt i en LinearLayout?
Ta bort weight=1 från Buttons och lägg till tomma LinearLayouts med höjd och bredd som "fill_parent" och ge dem weight=1. Lägg dem mellan Buttons. Då kan du lägga till så många Buttons som får plats på skärmen och alltid få dem jämnt fördelade över ytan.
Exempel:
Kod:
?xml version="1.0" encoding="utf-8"?>
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"/>
LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"/>
Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"/>
LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"/>
Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"/>
LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"/>
Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"/>
LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"/>
/LinearLayout>