0

我是安卓新手。我可以从手机中检索图像。但是,我没有得到 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;
}
4

1 回答 1

1

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

于 2012-12-26T17:09:12.003 回答