我是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;
}
答案 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)方法获取所需的图像部分。