LinearLayout 中的 ImageView 以百分比给出固定宽度

ImageView in LinearLayout give a fixed width in percent

我正在使用 ListView,我为每个项目创建了一个 imageview + 一个 edittext。我从网站加载图片,但我不明白为什么有些图片的宽度不是 35%。不过我用的是layout_weight属性。你能告诉我如何强制图像占据宽度的 35% 吗?

比如我现在的结果:

这是我的代码:

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

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        android:layout_weight="0.3"
        android:orientation="horizontal"
        android:padding="5dp" >

        <ImageView
            android:id="@+id/poster"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="6dip"
            android:layout_weight="0.35"
            android:contentDescription="42"
            android:src="@drawable/ic_launcher" />

        <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0.65"
            android:text="Title"
        />

    </LinearLayout>

</LinearLayout> 

如果您发现问题所在:/

此致, Zed13

编辑:Rishi Paul 解决方案的结果

更新后的 xml :

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

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="5dp" >

        <ImageView
            android:id="@+id/poster"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginRight="6dip"
            android:layout_weight="0.35"
            android:scaleType="fitCenter"
            android:contentDescription="42"
            android:src="@drawable/ic_launcher" />

        <TextView
            android:id="@+id/title"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.65"
            android:text="Title"
        />

    </LinearLayout>

</LinearLayout> 

这样做。它会帮助你

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

<ImageView
    android:id="@+id/poster"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginRight="6dip"
    android:layout_weight="0.35"
    android:adjustViewBounds="true"
    android:contentDescription="42"
    android:src="@drawable/desert" />

<TextView
    android:id="@+id/title"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_weight="0.65"
    android:text="Title" />

</LinearLayout>