即使imageView height =" match_parent"也防止图像缩放。

时间:2015-06-24 08:50:22

标签: android android-layout

我有这种线性布局,

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

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="1dp"
    android:layout_marginRight="1dp"
    android:background="@color/white"
    android:layout_marginTop="1dp"
    android:weightSum="1" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.8"
        android:gravity="left|center"
        android:padding="5dp"
        android:text="Policy No."
        android:textStyle="bold" />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="0.2"
        android:src="@drawable/ic_launcher" />

</LinearLayout>

现在我希望图像不能缩放,但ImageView要匹配父级的高度,TextView高度设置为包装内容并且无法更改。另外,我无法将imageView高度设置为wrap_content,因为它会改变整个线性布局的高度,我无法承受。

![问题图片] http://imgur.com/gaef828

现在我想要的是让图像的大小保持与第二行相同,即使第一行的高度增加了。

在此先感谢,任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:0)

添加:

android:scaleType="centerInside"

到你的ImageView

答案 1 :(得分:0)

要执行无缩放,请使用

android:scaleType="center"

http://developer.android.com/reference/android/widget/ImageView.ScaleType.html

答案 2 :(得分:0)

为了得到你想要的东西,你可以这样做: 首先给你的图像视图相同的固定高度,这样它们就不会缩放:

android:layout_height="25dp"

比将重力放到center_vertical:

android:layout_gravity="center_vertical"

所以现在你有了每个imageview:

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="0dp"
    android:layout_height="25dp"
    android:layout_weight="0.2"
    android:src="@drawable/ic_launcher" 
    android:layout_gravity="center_vertical" />

现在不再重要的是你的textview有多少行,你的imageview将保持不变!

输出继电器:

Output

希望这可以帮助您解决问题。