Android ListView toRightOf ImageView具有不同的大小而无需调整图像大小

时间:2014-02-22 11:52:21

标签: android listview imageview height size

我想有一个Imageview(大小为50dp / 50 dp),在这张图片的右边,我想有一个ListView(具有可变大小,具体取决于我的数据库,但这不是重点) 。图像应保持其大小,而列表应具有自己的大小。

我的问题是:我的ListView在左侧获取了我的Imageview的高度。我希望我的列表可见,没有任何滚动。 所有这些代码都放在RelativeLayout中。

<LinearLayout
        android:id="@+id/listAddresses"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:layout_below="@id/AnotherImageWithListOnItsRight" >
        <RelativeLayout
            android:id="@+id/iconAddress"
            android:layout_width="50dp"
            android:layout_height="fill_parent" >
            <ImageView
                android:layout_height="50dp"
                android:layout_width="50dp"
                android:src="@drawable/orange_message" android:scaleType="fitXY"
                />
        </RelativeLayout>
        <ListView 
            android:layout_toRightOf="@id/iconAddress"
            android:id="@+id/listAddressTrue" 
            android:layout_height="fill_parent"
            android:layout_width="fill_parent"
            android:divider="#FFCC00"
            android:dividerHeight="4px" >      
        </ListView>
</LinearLayout>

我还设法让我的完整ListView没有滚动,但如果我这样做,我的图像的高度是可怕的......所以我想我可以制作一个RelativeLayout,专用于我的图像,所以我的图像不会调整大小,但没有用。

有人可以帮我吗?

PS:抱歉我的英文..

2 个答案:

答案 0 :(得分:2)

<强>这里:

<ListView 
        android:layout_toRightOf="@id/iconAddress"

您正在尝试使用layout_toRightOf属性,但这仅适用于您在RelativeLayout内部,但您的ListView位于 LinearLayout

因此,将LinearLayout更改为RelativeLayout可能对您有用,因为您可以实际使用此属性

答案 1 :(得分:2)

试试这个..

<LinearLayout
        android:id="@+id/listAddresses"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        android:layout_below="@id/AnotherImageWithListOnItsRight" >
            <ImageView
                android:layout_height="50dp"
                android:layout_width="50dp"
                android:src="@drawable/orange_message" android:scaleType="fitXY"
                />
        <ListView 
            android:id="@+id/listAddressTrue" 
            android:layout_height="fill_parent"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:divider="#FFCC00"
            android:dividerHeight="4px" >      
        </ListView>
</LinearLayout>