2013-03-26 96 views
1

我试图在GridView中显示图像列表,并且我只想裁剪此列表中图像的中心。所以,下面是每个图像项的布局:(Android - xml)Gridview和ImageView缩放类型centerCrop

<?xml version="1.0" encoding="utf-8"?> 
<ImageView xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/place_image" 
     android:src="@drawable/ic_res" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:scaleType="centerCrop"/> 

,这里是包含网格视图布局:

<?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:id="@+id/upload_view" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:orientation="vertical" 
        android:background="#f6f6f6" 
        android:padding="10dp" 
        android:visibility="gone"> 
     <LinearLayout android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:orientation="horizontal"> 
      <ImageButton android:id="@+id/photo_select" 
        android:layout_width="50dp" 
        android:layout_height="40dp" 
        android:scaleType="fitXY" 
        android:src="@drawable/ic_photo"/> 
      <EditText android:id="@+id/photo_caption" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:hint="@string/caption" 
         android:inputType="textMultiLine"/> 
     </LinearLayout> 
     <TextView android:id="@+id/photo_path" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="" /> 

     <Button android:id="@+id/photo_upload" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="@string/upload_photo" 
       android:textStyle="bold" 
       android:textColor="#ffffff" 
       android:layout_gravity="right"/> 
    </LinearLayout> 
    <TextView android:id="@+id/no_photos" 
       android:layout_height="wrap_content" 
       android:layout_width="match_parent" 
       android:gravity="center" 
       android:textStyle="bold" 
       android:textSize="20dp" 
       android:text="@string/no_photos" 
       android:visibility="gone" /> 
    <GridView android:id="@+id/grid_photos" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_margin="20dp" 
      android:columnWidth="120dp" 
      android:numColumns="auto_fit" 
      android:verticalSpacing="10dp" 
      android:horizontalSpacing="10dp" 
      android:stretchMode="columnWidth" 
      android:gravity="center" /> 
</LinearLayout> 

,这里是我得到的结果是:

enter image description here

这很奇怪,因为图像都是以一种奇怪的方式剪裁的。下面是我原来的图像之一:

enter image description here

我从来没有遇到这样的问题,所以如果任何你熟悉这个,请帮我找到这个原因。谢谢! P:我想这只能是xml布局的问题,所以我不认为有必要在这里包含我的android源代码。但如果确实如此,请告诉我问题可能来自哪里,我将使用我的代码编辑此问题。

+0

将您的ImageView添加到相对布局中,并查看它是如何来的 – Triode 2013-03-26 13:53:01

+0

嘿它现在可行!谢谢! – 2013-03-26 13:59:52

回答

3

原因是GridView清除所有的瓷砖设置布局PARAMS并设置自己的布局PARAMS所以最好你把你的ImageViewRelativeLayout。这与所有AdapterView一样,如ListView,Gallery等。