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

时间:2015-06-30 10:14:46

标签: android xml listview adapter

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

例如,我现在的结果是:

enter image description here

这是我的代码:

<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解决方案的结果

enter image description here

更新的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> 

1 个答案:

答案 0 :(得分:2)

这样做。它会帮助你

<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>