簡體   English   中英

ImageView中的圖像被拉伸 - Android

[英]Image in ImageView is stretched - Android

我想在屏幕上顯示一個小圖像。 我希望它是一個小廣場。 使用下面的代碼,它顯示為一個長扁平矩形。 我附上了下面的圖片。

java代碼

ImageView q1Image = (ImageView)findViewById(R.id.q1Image);
q1Image.setScaleType(ScaleType.FIT_XY);

xml代碼

<TableRow
    android:id="@+id/row4"
    android:layout_width="0dip"
    android:layout_height="wrap_content"
    android:layout_weight="1" >

    <ImageView
        android:id="@+id/q1Image"
        android:layout_width="10dp"
        android:layout_height="10dp"
        android:layout_weight=".1"
        android:textSize="8sp"
        android:gravity="center_horizontal" />

測試

編輯如果我將寬度和高度分別設置為50dp ,圖像會變大但仍然是一個看起來很扁平的矩形。

您縮放圖像是錯誤的。 以下是所有尺度類型:

在此輸入圖像描述

頂行(lr)中心,centerCrop,centerInside。

底行(lr):fitCenter,fitStart,fitEnd,fitXY。

你可能需要fitCenter

q1Image.setScaleType(ScaleType.FIT_CENTER);

FIT_XY將拉伸您的圖像以適合所有的ImageView。 如果使用ImageView,請使用縮放類型fitC​​enter通過將圖像置於中心來保留縱橫比

q1Image.setScaleType(ScaleType.FIT_CENTER);

有關其他選項,請參閱http://developer.android.com/reference/android/widget/ImageView.ScaleType.html

如果沒有完整的布局XML,這只是猜測,但看到你似乎沒有通過改變比例類型來解決問題,這里有一些其他的建議:

  1. 如果ImageViewlayout_weight為零,那會不會更好?

  2. 你在TableLayout上指定android:stretchColumns嗎?

  3. 圖像看起來像是被拉伸以匹配下面文本的寬度。 你的桌子里有幾列? 看起來其他行中的文本在第0列(與第一行中的圖像一樣),第一行中的文本在第1列中。如果要將列0留空其他行,則需要在文本視圖上指定android:layout_column

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM