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>
我正在使用 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>