LinearLayout( Relative로 구성해도 상관없음 )  = width:"fill_parent" height:"50dp"






 MapView   = width:"fill_parent", height="위와 아래 50dp씩 차지하고 남은 공간 모두"





 LinearLayout( Relative로 구성해도 상관없음 ) = width:"fill_parent" height:"50dp"





레이아웃을 상단의 표와 같이 구성하고 싶습니다.

LinearLayout으로 구성해도 안되고 RelativeLayout으로 구성해도 안되더군요

결국 궁여지책으로 FrameLayout으로 구성했습니다만..

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">

    <LinearLayout 
    android:id="@+id/top"
    android:layout_width="fill_parent"
    android:layout_gravity="top"
    android:layout_height="50dp"    
    android:orientation="horizontal">
        
        <Button android:id="@+id/btn_myloc"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="2"
        android:text="loc"/>

        <View android:id="@+id/topview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"/>
        
        <Button android:id="@+id/btn_createthread"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="2"/>
    
    </LinearLayout>
    
    <FrameLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    
        <com.google.android.maps.MapView
        android:id="@+id/mapview"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="50dp"
        android:clickable="true"
        android:apiKey="zzzzzz"/>
        
        <LinearLayout android:id="@+id/bottomtab"
        android:layout_width="fill_parent"    
        android:layout_height="50dp"
        android:layout_gravity="bottom"
        android:layout_below="@id/top">
    
            <include layout="@layout/bottom_tap"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />
            
        </LinearLayout>
    
    </FrameLayout>
    
</LinearLayout>

위와 같은 레이아웃을 구성해서 모양은 나왔는데


문제점은 FrameLayout에 있는 mapview에서 아랫쪽에 마진을 50주다보니

MapView에서 제스쳐이벤트 발생시에 좌표를 아랫쪽 + 50만큼 더 인식한다는 겁니다.

코드단에서 처리해줘도되지만 너무 궁여지책으로 코딩을 하는것 같아서 어떠한 해결방법이 있을지 고수님들의 이야기를 듣고 싶습니다.