当我们从文件中选择图片时,图片可能变灰,不能被选择。这是因为Android Studio中已有一个Drawable文件与所需选择的图片同名。为了解决这个问题,我们可以在选择图片时,修改选择文件的方式,使之能够直接定位到所需的图片。
在选择图片的地方,我们可以写一个自定义的文件选择器,可以使用以下代码:
private void pickImage() { Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); startActivityForResult(Intent.createChooser(intent, "Select Image"), PICK_IMAGE); }
在onActivityResult()方法中,我们可以获取所选图片的Uri:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_IMAGE && resultCode == RESULT_OK && data != null && data.getData() != null) {
Uri uri = data.getData();
// 使用uri来处理所选图片
}
}
这样,我们就可以很轻松地解决从文件中选择图片时图片变灰的问题。