I've been wondering about this one too and I've found a way to set the height of a mapview, i haven't got it to play ball fully, but at least it won't try to be the size of the screen.
The way I've done it is placed it inside a linear layout. The height of the map depends on a mixture of how the android:layout_height="fill_parent" is set on both the mapview and the linear layout, for instance to set an absolute height I set the map to be android:layout_height="200px" and left the linear layout as android:layout_height="wrap_content".
This here seems to be keeping my mapview a decent size:
Using xml Syntax Highlighting
<LinearLayout android:id="@+id/LinearLayout05" android:layout_width="fill_parent" android:layout_height="fill_parent">
<view class="com.google.android.maps.MapView" android:id="@+id/map"
android:layout_width="fill_parent" android:clickable="true"
android:apiKey="hdsaf63hksfohnoyoudontdy8hjdhg3y8hjds" android:layout_height="fill_parent"/>
</LinearLayout>
Parsed in 0.002 seconds, using
GeSHi 1.0.8.4
Anyway, I hope i've helped.