2013-05-09 86 views
3

我有一個ListView,顯示行ImageView的,不進行縮放

這是XML:

... 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_margin="5dp" 
     android:layout_weight="1" 
     android:background="@color/white" 
     android:orientation="vertical" > 

     <FrameLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight=".30"> 

      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="match_parent" 
       android:background="@drawable/face" 
       android:scaleType="centerCrop" /> 
     </FrameLayout> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight=".70" 
      android:background="@color/white" 
      android:padding="4dp" > 

      // Other views... 

     </LinearLayout> 
    </LinearLayout> 
    … 

,並得到這樣的結果:

enter image description here

這是原始圖像

enter image description here

需要的是沒有縮放圖像,就像這樣:

enter image description here

我使用的Android版本:ScaleType = 「centerCrop」 我與Android測試:adjustViewBounds = 「true」 和許多其他的參數,但從未成功

想法?

在此先感謝

回答

3

設置你的圖像android:src而不是android:background纔會工作。

<ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="match_parent" 
       android:src="@drawable/face" 
       android:scaleType="centerCrop" /> 

所有視圖可以採取的背景圖像

srcImageView具有附加的特徵:

  • 不同scaling types
  • adjustViewBounds用於設置邊界以匹配圖像尺寸
  • 一些轉換如alpha-setting

而更多的,你可以在the docs找到。

0

變化android:background="@drawable/face"android:src="@drawable/face" 規模類型android:src

0

您可以使用android:src代替android:background設置你的繪製。例如:

<ImageView android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:src="@drawable/face" 
      android:scaleType="centerCrop" /> 

此外,爲什麼不使用像Photoshop這樣的圖像編輯軟件裁剪圖像,而是使用該圖像呢?應避免動態縮放和操縱圖像,以儘可能避免大量使用系統資源。

0

我覺得,你的問題是插入的LinearLayout和FrameLayout裏的權重。請使用RelativeLayout而不用重量。系統無法裁剪您的照片,因爲系統無法測量ImageView,無法將其與照片進行比較。總之系統認爲「這是圖像和ImageView相等」。 我已經這樣做了:

<RelativeLayout   
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:padding="5dp"> 

     <ImageView 
      android:id="@+id/image" 
      android:layout_height="50dp" 
      android:layout_width="match_parent" 
      android:src="@drawable/photo" 
      android:scaleType="centerCrop" 
      android:contentDescription="@string/app_name" 
      android:layout_alignParentTop="true" 
      /> 
     <TextView android:layout_height="150dp" 
      android:layout_width="match_parent" 
      android:text="@string/text" 
      android:layout_below="@id/image" 
      android:maxLength="350" 
      android:layout_marginTop="5dp"/> 

</RelativeLayout>