0
我有一些問題與設置一個ImageView從畫廊意圖返回的對象。我一定在做錯事,但是當我調試它時,一切似乎都在正確的地方。它不會拋出任何例外,它只是將我的形象改變爲無。Android的圖像庫裁剪圖像和設置ImageView
我正試圖按照其他指南和教程在stackoverflow得到我的答案,但我不能讓它工作。
這個調用畫廊很好,但它不允許croping ...
public void onViewCreated(View view, Bundle savedInstanceState) {
final ImageView profileImage = (ImageView) view.findViewById(R.id.profile_user_image);
profileImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(i, RESULT_LOAD_IMAGE);
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RESULT_LOAD_IMAGE && resultCode == Activity.RESULT_OK && null != data) {
if (requestCode == RESULT_LOAD_IMAGE && resultCode == Activity.RESULT_OK && null != data) {
Uri picUri = data.getData();
String[] filePathColumn = {MediaStore.Images.Media.DATA};
Cursor cursor = getActivity().getContentResolver().query(picUri,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
filePath = cursor.getString(columnIndex);
cursor.close();
// Set The Bitmap Data To ImageView
BitmapFactory.Options o = new BitmapFactory.Options();
o.inPreferredConfig = Bitmap.Config.ARGB_8888;
o.inScaled = true;
ImageView bitmapview = (ImageView) _this.findViewById(R.id.profile_user_image);
bitmapview.setScaleType(ImageView.ScaleType.FIT_XY);
//bitmapview.setImageResource(R.drawable.female_icon); // KNOWN FILE
bitmapview.setImageBitmap(BitmapFactory.decodeFile(filePath,o)); // Gallery File.
}
}
}
我不知道我缺少什麼,在 的ImageView的限制爲150dp X 150dp
我已經嘗試將其更改爲可以正常工作的已知資源,但每次使用此方法都會失敗,無論我嘗試什麼。