0

非常简单的问题,但我似乎无法正确配置它。

我会让 ListVieww 右对齐占用 100dp 的 layout_width,而 MapControl 占用剩余空间。(我宁愿占用剩余空间来利用手机被放置在水平位置的优势。

这就是我目前所拥有的。

<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:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:layout_gravity="left" >


                 <com.google.android.maps.MapView
                 android:id="@+id/gmap"
                 android:layout_width="fill_parent"
                 android:layout_height="fill_parent"
                 android:clickable="true"
                 android:layout_gravity="left"
                 />
                 </LinearLayout>

        <LinearLayout 
        android:id="@+id/maplst"
        android:layout_width="100dp"
        android:layout_gravity="right"
        android:layout_height="fill_parent"
        android:orientation="vertical" > 

        <ListView
        android:id="@+id/listView1"
        android:layout_width="118dp"
        style="@style/listViewStyle"
        android:layout_height="wrap_content" android:layout_gravity="right">
    </ListView>
    </LinearLayout>  


</LinearLayout>
4

2 回答 2

2

我认为您不需要所有这些布局(优化点)。要占用剩余空间,请layout_width="0dp"使用layout_weight="1".

这应该是你想要的:

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

     <com.google.android.maps.MapView
                 android:id="@+id/gmap"
                 android:layout_width="0dp"
                 android:layout_weight="1"
                 android:layout_height="fill_parent"
                 android:clickable="true"
                 />

      <ListView
             android:id="@+id/listView1"
             android:layout_width="100dp"
             style="@style/listViewStyle"
             android:layout_height="wrap_content">
       </ListView>


</LinearLayout>
于 2012-07-23T08:29:22.630 回答
1

这是列表视图在屏幕左侧对齐的代码,占用 100dp 空间,其余部分由地图视图占用。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <LinearLayout
        android:id="@+id/maplst"
        android:layout_width="100dp"
        android:layout_height="fill_parent"
        android:layout_alignParentRight="true"
        android:orientation="vertical" >

        <ListView
            android:id="@+id/listView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >
        </ListView>
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" 
        android:layout_toLeftOf="@+id/maplst">

        <com.google.android.maps.MapView
            android:id="@+id/gmap"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:clickable="true" />
    </LinearLayout>

</RelativeLayout>
于 2012-07-23T08:29:25.017 回答