(Android - xml) Gridview 和 ImageView 缩放类型 centerCrop
Posted
技术标签:
【中文标题】(Android - xml) Gridview 和 ImageView 缩放类型 centerCrop【英文标题】:(Android - xml) Gridview and ImageView scale type centerCrop 【发布时间】:2013-03-26 13:47:14 【问题描述】:我正在尝试在 GridView
中显示图像列表,并且我只想裁剪此列表中图像的中心。所以下面是每个图像项的布局:
<?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_
android:layout_
android:scaleType="centerCrop"/>
这是包含网格视图的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_
android:layout_
android:orientation="vertical" >
<LinearLayout android:id="@+id/upload_view"
android:layout_
android:layout_
android:orientation="vertical"
android:background="#f6f6f6"
android:padding="10dp"
android:visibility="gone">
<LinearLayout android:layout_
android:layout_
android:orientation="horizontal">
<ImageButton android:id="@+id/photo_select"
android:layout_
android:layout_
android:scaleType="fitXY"
android:src="@drawable/ic_photo"/>
<EditText android:id="@+id/photo_caption"
android:layout_
android:layout_
android:hint="@string/caption"
android:inputType="textMultiLine"/>
</LinearLayout>
<TextView android:id="@+id/photo_path"
android:layout_
android:layout_
android:text="" />
<Button android:id="@+id/photo_upload"
android:layout_
android:layout_
android:text="@string/upload_photo"
android:textStyle="bold"
android:textColor="#ffffff"
android:layout_gravity="right"/>
</LinearLayout>
<TextView android:id="@+id/no_photos"
android:layout_
android:layout_
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_
android:layout_
android:layout_margin="20dp"
android:columnWidth="120dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center" />
</LinearLayout>
这是我得到的结果:
这很奇怪,因为图像都以一种奇怪的方式裁剪。以下是我的原始图片之一:
我从来没有遇到过这个问题,所以如果你们熟悉这个,请帮我找出原因。谢谢!
P.s:我想这只能是 xml 布局的问题,所以我认为没有必要在此处包含我的 android 源代码。但如果确实如此,请让我知道问题可能来自哪里,我会用我的代码编辑这个问题。
【问题讨论】:
将您的 ImageView 添加到相对布局中,看看效果如何 嘿,现在可以了!谢谢! 【参考方案1】:原因是GridView
清除了为图块设置的所有布局参数,并设置了自己的布局参数,因此最好将ImageView
添加到RelativeLayout
中。这与所有AdapterView
相同,例如 ListView、Gallery
等。
【讨论】:
以上是关于(Android - xml) Gridview 和 ImageView 缩放类型 centerCrop的主要内容,如果未能解决你的问题,请参考以下文章