【问题标题】:Prevent Image from scaling even though the imageView height = "match_parent"即使 imageView height = "match_parent" 也防止图像缩放
【发布时间】:2015-06-24 17:16:09
【问题描述】:

我有这个线性布局,

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

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

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

【问题讨论】:

  • 不是给图像一个固定高度的选项吗?这似乎是你想要的。例如android:layout_height="5dp" 或其他一些值

标签: android android-layout


【解决方案1】:

添加:

android:scaleType="centerInside"

到你的 ImageView

【讨论】:

    【解决方案2】:

    要执行不缩放,请使用

    android:scaleType="center"
    

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

    【讨论】:

      【解决方案3】:

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

      android:layout_height="25dp"
      

      比把重力放在center_vertical:

      android:layout_gravity="center_vertical"
      

      所以现在每个图像视图都有了:

      <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 将保持不变!

      输出:

      希望这能帮助您解决问题。

      【讨论】:

        猜你喜欢
        • 2019-03-30
        • 2012-08-29
        • 1970-01-01
        • 2020-12-06
        • 2012-03-06
        • 1970-01-01
        • 1970-01-01
        • 2020-06-18
        相关资源
        最近更新 更多