上記と同様の結果を得ようとしていますが、それを反映するレイアウトを取得するのに問題があります。これまでのところ、ボタンを上にうまく配置することができましたが、ボタンを下に移動したい場合は、オーバーレイするか、完全に非表示にすることしかできません。
かなりシンプルなレイアウトだと思いますが、一生手に入れることはできません。
メインビューはMapViewです。マップビューにボタンにスペースを与え、基本的にはアプリの背景を背面に配置する必要があります。
相対的なレイアウトをマップ ビューの親として配置してみてください。以下の XML スニペットを見つけてください。
<!-- Use mapView is relative Layout if you want to do that.. i.e the view should overlay map. --!>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:id="@+id/TopLinearLayout"
android:layout_width="fill_parent"
android:layout_height="200dip"
android:layout_alignParenttop="true"
gravity="center" />
<com.google.android.maps.MapView
android:id="@+id/mapviewHome"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:apiKey="@string/ApiKey_apk"
android:clickable="true" />
</LinearLayout>
<LinearLayout
android:id="@+id/BottomLinearLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
gravity="center"
layout_above="@+id/TopLinearLayout" />
<Button android:text="button" />
<!-- your buttton and other components are here --!>
</RelativeLayout>
ボタンを含む MapView と LinearLayout を含む LinearLayout を使用してみてください。次に、button-LinearLayout の重みを「1」に設定し、MapView の重みを「0」に設定します。これが機能するかどうかはわかりませんが、試してみる価値はあります...
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<com.google.android.maps.MapView
android:id="@+id/mapviewHome"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:apiKey="@string/ApiKey_apk"
android:clickable="true"
android:layout_weight="0"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
gravity="center"
android:id="@+id/BottomLinearLayout"
android:layout_alignParentBottom="true"
android:layout_weight="1">
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
<!-- your buttton and other components are here -->
</LinearLayout>
</LinearLayout>
Linearlayout の代わりに RelativeLayout を使用する必要があると思います。よくわかりませんが、役に立ちます。
>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:id="@+id/header"
android:background="@drawable/header"
>
<ImageView
android:id="@+id/back"
android:layout_width="77dp"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:src="@drawable/back_txt" />
<ImageView
android:id="@+id/gps"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginBottom="10dp"
android:layout_marginTop="10dp"
android:src="@drawable/gps_btn_03" />
</RelativeLayout>
<com.google.android.maps.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/header"
android:apiKey="0SQlVa3Jk1kXyql-9Bsl0kIIgN7FKV3JnG27YTA"
android:clickable="true" />
<TextView
android:id="@+id/sandho"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="60dp"
android:text=""
android:textAppearance="?android:attr/textAppearanceSmall" />
<ImageView
android:id="@+id/selectedlocation"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/sandho"
android:layout_centerHorizontal="true"
android:src="@drawable/selectedlocation" />
<ImageView
android:id="@+id/alllocation"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/img"
android:layout_centerHorizontal="true"
android:src="@drawable/alllocation"
android:visibility="gone"
/>
<LinearLayout
android:id="@+id/layout_all"
android:layout_width="125dp"
android:layout_height="50dp"
android:layout_alignBottom="@+id/img"
android:layout_toRightOf="@+id/img" >
</LinearLayout>
<LinearLayout
android:id="@+id/layout_selected"
android:layout_width="125dp"
android:layout_height="50dp"
android:layout_alignBottom="@+id/img"
android:layout_toLeftOf="@+id/img" >
</LinearLayout>
<RelativeLayout
android:id="@+id/mapnlist"
android:layout_width="fill_parent"
android:layout_height="47dp"
android:layout_below="@+id/header"
android:layout_centerHorizontal="true"
android:background="#CCCCCCCC"
>
<ImageView
android:id="@+id/mapandlist"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/mapnlist" />
<TextView
android:id="@+id/smtext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text=""
android:textAppearance="?android:attr/textAppearanceSmall" />
<LinearLayout
android:id="@+id/layout_left"
android:layout_width="60dp"
android:layout_height="35dp"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/smtext" >
</LinearLayout>
<LinearLayout
android:id="@+id/layout_right"
android:layout_width="60dp"
android:layout_height="35dp"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/smtext" >
</LinearLayout>
</RelativeLayout>