图像未按XML ImageView中的定义显示

时间:2012-12-26 16:09:01

标签: android android-layout android-intent android-emulator android-widget

我是android的新手。我可以从手机中检索图像。但是我没有按照xml文件中的定义获得所需的高度和宽度。图像仍然显示为矩形而不是正方形(它只是我原始照片的缩小。但是,我只需要方形裁剪图像(图像的一部分没有缩放)。

XML文件(图片视图):

<ImageView 
    android:id="@+id/photo"
    android:layout_width="=100dp"
    android:layout_height="100dp" 
    android:scaleType="center"
    android:adjustViewBounds="false" 
    android:gravity="center"/>

代码:

public View getView(final int position, View convertView, ViewGroup parent) {
    ViewHolder holder;
    if (convertView == null) {
        convertView = l_Inflater.inflate(R.layout.item_view, null);
        holder = new ViewHolder();
        holder.itemImage = (ImageView) convertView.findViewById(R.id.photo);
        convertView.setTag(holder);
    } else {
        holder = (ViewHolder) convertView.getTag();
    }
    Uri fileURI = Uri.parse(itemArrayList.get(position).getPhoto());
    holder.itemImage.setImageURI(fileURI);
    return convertView;
}

1 个答案:

答案 0 :(得分:1)

您已将ImageView layout_width和layout_height设置为dp而不是像素。所以在hdpi设备上,100dp实际上是150px,而xhdpi是200。这可能是您遇到问题的原因。您可以在px中设置宽度和高度,并将图像放在drawable-nodpi文件夹中(不执行缩放)。 您还可以使用createBitmap (Bitmap source, int x, int y, int width, int height)方法获取所需的图像部分。